setup.py
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
Thu, 02 Mar 2017 18:14:21 +0100
changeset 2027 de914b833105
parent 2020 143c8e4dc22d
child 2036 2d9e7b936ee1
permissions -rw-r--r--
tests: run pyflake on all python files We have fixed the handfull of error pyflakes found on evolve so we can setup the test to prevent regression. Next stop flake8.

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>=%s' % min_hg_version(EVOLVE_PATH))

setup(
    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+',
    py_modules=py_modules,
    packages=py_packages
)