--- a/setup.py Thu Feb 23 15:19:31 2017 +0100
+++ b/setup.py Thu Mar 02 18:07:46 2017 +0100
@@ -1,24 +1,60 @@
+import os
from distutils.core import setup
+from os.path import dirname, join
+
+def get_version(relpath):
+ '''Read version info from a file without importing it'''
+ for line in open(join(dirname(__file__), relpath), 'rb'):
+ # Decode to a fail-safe string for PY3
+ # (gives unicode object in PY2)
+ line = line.decode('utf8')
+ if '__version__' in line:
+ if "'" in line:
+ return line.split("'")[1]
+
+def min_hg_version(relpath):
+ '''Read version info from a file without importing it'''
+ for line in open(join(dirname(__file__), relpath), 'rb'):
+ # Decode to a fail-safe string for PY3
+ # (gives unicode object in PY2)
+ line = line.decode('utf8')
+ if 'testedwith' in line:
+ if "'" in line:
+ return min(line.split("'")[1].split())
+
+py_modules = [
+ 'hgext3rd.evolve.serveronly',
+]
+py_packages = [
+ 'hgext3rd',
+ 'hgext3rd.topic',
+]
+
+if os.environ.get('INCLUDE_INHIBIT'):
+ py_modules.append('hgext3rd.evolve.hack.inhibit')
+ py_modules.append('hgext3rd.evolve.hack.directaccess')
+
+
+EVOLVE_PATH = 'hgext3rd/evolve/__init__.py'
requires = []
try:
import mercurial
mercurial.__all__
except ImportError:
- requires.append('mercurial')
+ requires.append('mercurial>=%s' % min_hg_version(EVOLVE_PATH))
setup(
- name='hg-topics',
- version='1.0.0',
- author='Augie Fackler',
- maintainer='Augie Fackler',
- maintainer_email='augie@google.com',
- url='http://bitbucket.org/durin42/hg-topics/',
- description=('Experimental tinkering with workflow ideas '
- 'for topic branches.'),
- long_description=open('README.md').read(),
+ name='hg-evolve',
+ version=get_version(EVOLVE_PATH),
+ author='Pierre-Yves David',
+ maintainer='Pierre-Yves David',
+ maintainer_email='pierre-yves.david@ens-lyon.org',
+ url='https://www.mercurial-scm.org/doc/evolution/',
+ description='Flexible evolution of Mercurial history.',
+ long_description=open('README').read(),
keywords='hg mercurial',
license='GPLv2+',
- packages=['hgext3rd'],
- install_requires=requires,
+ py_modules=py_modules,
+ packages=py_packages
)