From f01b3d90040db2dde7f6f92a953bf8637ee663eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 8 Mar 2014 12:58:53 +0100 Subject: [PATCH] Improve setup.py to allow dev publication issue3436 issue1891 review2441002 --- MANIFEST.in | 2 -- setup.py | 45 ++++++++++++++++++++++++++++++--------------- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/MANIFEST.in b/MANIFEST.in index fc0b03eaf2..f2f691a0e8 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,13 +1,11 @@ include INSTALL include README -include TODO include COPYRIGHT include CHANGELOG include LICENSE include tryton.cfg include *.xml include view/*.xml -include *.odt include locale/*.po include doc/* include tests/*.rst diff --git a/setup.py b/setup.py index f7a2c3d83c..49bcbe307a 100644 --- a/setup.py +++ b/setup.py @@ -11,41 +11,56 @@ import ConfigParser def read(fname): return open(os.path.join(os.path.dirname(__file__), fname)).read() + +def get_require_version(name): + if minor_version % 2: + require = '%s >= %s.%s.dev0, < %s.%s' + else: + require = '%s >= %s.%s, < %s.%s' + require %= (name, major_version, minor_version, + major_version, minor_version + 1) + return require + config = ConfigParser.ConfigParser() config.readfp(open('tryton.cfg')) info = dict(config.items('tryton')) for key in ('depends', 'extras_depend', 'xml'): if key in info: info[key] = info[key].strip().splitlines() -major_version, minor_version, _ = info.get('version', '0.0.1').split('.', 2) +version = info.get('version', '0.0.1') +major_version, minor_version, _ = version.split('.', 2) major_version = int(major_version) minor_version = int(minor_version) +name = 'trytond_account_stock_continental' + +download_url = 'http://downloads.tryton.org/%s.%s/' % ( + major_version, minor_version) +if minor_version % 2: + version = '%s.%s.dev0' % (major_version, minor_version) + download_url = ( + 'hg+http://hg.tryton.org/modules/%s#egg=%s-%s' % ( + name[8:], name, version)) requires = [] for dep in info.get('depends', []): if not re.match(r'(ir|res|webdav)(\W|$)', dep): - requires.append('trytond_%s >= %s.%s, < %s.%s' % - (dep, major_version, minor_version, major_version, - minor_version + 1)) -requires.append('trytond >= %s.%s, < %s.%s' % - (major_version, minor_version, major_version, minor_version + 1)) + requires.append(get_require_version('trytond_%s' % dep)) +requires.append(get_require_version('trytond')) -tests_require = ['proteus >= %s.%s, < %s.%s' % - (major_version, minor_version, major_version, minor_version + 1)] +tests_require = [get_require_version('proteus')] for dep in ['sale', 'purchase', 'account_invoice', 'sale_supply_drop_shipment']: - tests_require.append('trytond_%s >= %s.%s, < %s.%s' % - (dep, major_version, minor_version, major_version, - minor_version + 1)) + tests_require.append(get_require_version('trytond_%s' % dep)) -setup(name='trytond_account_stock_continental', - version=info.get('version', '0.0.1'), +setup(name=name, + version=version, description='Tryton module for continental real-time stock valuation', long_description=read('README'), author='Tryton', + author_email='issue_tracker@tryton.org', url='http://www.tryton.org/', - download_url=("http://downloads.tryton.org/" + - info.get('version', '0.0.1').rsplit('.', 1)[0] + '/'), + download_url=download_url, + keywords='tryton account stock valuation continental', package_dir={'trytond.modules.account_stock_continental': '.'}, packages=[ 'trytond.modules.account_stock_continental',