annotate setup.py @ 1632:498329a3c900 stable

evolve: Fix crash when reading docstring Before this patch, hg evolve --divergent could crash when looking for docstring of function of merge.update. We were checking the docstring to work properly with older version of Mercurial. It could crash if an extension would wrap merge.update without keeping the docstring. This patch fixes the crash.
author Juntao Li <juntaoli@fb.com>
date Thu, 17 Mar 2016 17:03:51 -0700
parents 160968654581
children fb5e479080d8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
496
d3d9df795b4d [pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
1 # Copied from histedit setup.py
d3d9df795b4d [pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
2 # Credit to Augie Fackler <durin42@gmail.com>
d3d9df795b4d [pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
3
1242
cf846d47bb7e setup: allow including inhibit in the build
Durham Goode <durham@fb.com>
parents: 1149
diff changeset
4 import os
496
d3d9df795b4d [pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
5 from distutils.core import setup
1149
a206ee74f129 evolve: add various version info to save time on troubleshooting
anatoly techtonik <techtonik@gmail.com>
parents: 1138
diff changeset
6 from os.path import dirname, join
a206ee74f129 evolve: add various version info to save time on troubleshooting
anatoly techtonik <techtonik@gmail.com>
parents: 1138
diff changeset
7
a206ee74f129 evolve: add various version info to save time on troubleshooting
anatoly techtonik <techtonik@gmail.com>
parents: 1138
diff changeset
8 def get_version(relpath):
a206ee74f129 evolve: add various version info to save time on troubleshooting
anatoly techtonik <techtonik@gmail.com>
parents: 1138
diff changeset
9 '''Read version info from a file without importing it'''
a206ee74f129 evolve: add various version info to save time on troubleshooting
anatoly techtonik <techtonik@gmail.com>
parents: 1138
diff changeset
10 for line in open(join(dirname(__file__), relpath), 'rb'):
a206ee74f129 evolve: add various version info to save time on troubleshooting
anatoly techtonik <techtonik@gmail.com>
parents: 1138
diff changeset
11 # Decode to a fail-safe string for PY3
a206ee74f129 evolve: add various version info to save time on troubleshooting
anatoly techtonik <techtonik@gmail.com>
parents: 1138
diff changeset
12 # (gives unicode object in PY2)
a206ee74f129 evolve: add various version info to save time on troubleshooting
anatoly techtonik <techtonik@gmail.com>
parents: 1138
diff changeset
13 line = line.decode('utf8')
a206ee74f129 evolve: add various version info to save time on troubleshooting
anatoly techtonik <techtonik@gmail.com>
parents: 1138
diff changeset
14 if '__version__' in line:
a206ee74f129 evolve: add various version info to save time on troubleshooting
anatoly techtonik <techtonik@gmail.com>
parents: 1138
diff changeset
15 if "'" in line:
a206ee74f129 evolve: add various version info to save time on troubleshooting
anatoly techtonik <techtonik@gmail.com>
parents: 1138
diff changeset
16 return line.split("'")[1]
496
d3d9df795b4d [pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
17
1242
cf846d47bb7e setup: allow including inhibit in the build
Durham Goode <durham@fb.com>
parents: 1149
diff changeset
18 py_modules = [
cf846d47bb7e setup: allow including inhibit in the build
Durham Goode <durham@fb.com>
parents: 1149
diff changeset
19 'hgext.evolve',
cf846d47bb7e setup: allow including inhibit in the build
Durham Goode <durham@fb.com>
parents: 1149
diff changeset
20 ]
cf846d47bb7e setup: allow including inhibit in the build
Durham Goode <durham@fb.com>
parents: 1149
diff changeset
21
1452
1bcbd14cf159 merge back with 3.3 compat branch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1451
diff changeset
22 if os.environ.get('INCLUDE_INHIBIT'):
1bcbd14cf159 merge back with 3.3 compat branch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1451
diff changeset
23 py_modules.append('hgext.inhibit')
1bcbd14cf159 merge back with 3.3 compat branch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1451
diff changeset
24 py_modules.append('hgext.directaccess')
1bcbd14cf159 merge back with 3.3 compat branch
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1451
diff changeset
25
496
d3d9df795b4d [pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
26 setup(
d3d9df795b4d [pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
27 name='hg-evolve',
1149
a206ee74f129 evolve: add various version info to save time on troubleshooting
anatoly techtonik <techtonik@gmail.com>
parents: 1138
diff changeset
28 version=get_version('hgext/evolve.py'),
496
d3d9df795b4d [pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
29 author='Pierre-Yves David',
d3d9df795b4d [pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
30 maintainer='Pierre-Yves David',
916
48e68d3b0144 fix maintainer email
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 859
diff changeset
31 maintainer_email='pierre-yves.david@ens-lyon.org',
1617
160968654581 url: update url to point to the latest hosting
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1452
diff changeset
32 url='http://evolution.experimentalworks.net/',
496
d3d9df795b4d [pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
33 description='Flexible evolution of Mercurial history.',
d3d9df795b4d [pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
34 long_description=open('README').read(),
d3d9df795b4d [pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
35 keywords='hg mercurial',
d3d9df795b4d [pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
36 license='GPLv2+',
1242
cf846d47bb7e setup: allow including inhibit in the build
Durham Goode <durham@fb.com>
parents: 1149
diff changeset
37 py_modules=py_modules
496
d3d9df795b4d [pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
38 )