diff setup.py @ 2020:143c8e4dc22d

topic: merge the topic extension in the evolve repository There is a lot of synergy between the two concepts. Topic is expected to be able to smooth multiple of evolution sharp edge. Having them both in the same repository will make this collaboration easier.
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Thu, 02 Mar 2017 18:07:46 +0100
parents 202ac6c94b7f 192c9f92148d
children 2d9e7b936ee1
line wrap: on
line diff
--- 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
 )