annotate setup.py @ 186:d06b48001662

package: update package url Replace the package url which was pointing to the repository to the wiki page instead. This way pypi users will directly see the basic usage and can easily find the repository url on the wiki page.
author Boris Feld <boris.feld@octobus.net>
date Wed, 19 Jul 2017 14:48:40 +0200
parents e0678dfb7aec
children ae6427d1c8f7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
80
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
1 import os, time
66
358fd5c84270 add a setup.py
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
2 from distutils.core import setup
358fd5c84270 add a setup.py
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
3
162
e0678dfb7aec setup: parse PKG-INFO for version information (issue3924)
Peter Elmers <peter.elmers@yahoo.com>
parents: 160
diff changeset
4 # query Mercurial for version number, or pull from PKG-INFO
80
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
5 version = 'unknown'
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
6 if os.path.isdir('.hg'):
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
7 cmd = "hg id -i -t"
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
8 l = os.popen(cmd).read().split()
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
9 while len(l) > 1 and l[-1][0].isalpha(): # remove non-numbered tags
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
10 l.pop()
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
11 if len(l) > 1: # tag found
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
12 version = l[-1]
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
13 if l[0].endswith('+'): # propagate the dirty status to the tag
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
14 version += '+'
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
15 elif len(l) == 1: # no tag found
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
16 cmd = 'hg parents --template "{latesttag}+{latesttagdistance}-"'
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
17 version = os.popen(cmd).read() + l[0]
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
18 if version.endswith('+'):
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
19 version += time.strftime('%Y%m%d')
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
20 elif os.path.exists('.hg_archival.txt'):
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
21 kw = dict([[t.strip() for t in l.split(':', 1)]
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
22 for l in open('.hg_archival.txt')])
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
23 if 'tag' in kw:
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
24 version = kw['tag']
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
25 elif 'latesttag' in kw:
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
26 version = '%(latesttag)s+%(latesttagdistance)s-%(node).12s' % kw
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
27 else:
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
28 version = kw.get('node', '')[:12]
162
e0678dfb7aec setup: parse PKG-INFO for version information (issue3924)
Peter Elmers <peter.elmers@yahoo.com>
parents: 160
diff changeset
29 elif os.path.exists('PKG-INFO'):
e0678dfb7aec setup: parse PKG-INFO for version information (issue3924)
Peter Elmers <peter.elmers@yahoo.com>
parents: 160
diff changeset
30 kw = dict([[t.strip() for t in l.split(':', 1)]
e0678dfb7aec setup: parse PKG-INFO for version information (issue3924)
Peter Elmers <peter.elmers@yahoo.com>
parents: 160
diff changeset
31 for l in open('PKG-INFO') if ':' in l])
e0678dfb7aec setup: parse PKG-INFO for version information (issue3924)
Peter Elmers <peter.elmers@yahoo.com>
parents: 160
diff changeset
32 version = kw.get('Version', version)
80
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
33
66
358fd5c84270 add a setup.py
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
34 setup(
358fd5c84270 add a setup.py
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
35 name='python-hglib',
80
009e7858a93b setup: add version number lookup
Matt Mackall <mpm@selenic.com>
parents: 66
diff changeset
36 version=version,
66
358fd5c84270 add a setup.py
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
37 author='Idan Kamara',
358fd5c84270 add a setup.py
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
38 author_email='idankk86@gmail.com',
186
d06b48001662 package: update package url
Boris Feld <boris.feld@octobus.net>
parents: 162
diff changeset
39 url='https://www.mercurial-scm.org/wiki/PythonHglibs',
66
358fd5c84270 add a setup.py
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
40 description='Mercurial Python library',
134
1b47146a4a2c style: fix long lines
Matt Mackall <mpm@selenic.com>
parents: 80
diff changeset
41 long_description=open(os.path.join(os.path.dirname(__file__),
1b47146a4a2c style: fix long lines
Matt Mackall <mpm@selenic.com>
parents: 80
diff changeset
42 'README')).read(),
160
91329df47df5 hglib: declare hglib's Python version support (issue4520)
Brett Cannon <brett@python.org>
parents: 134
diff changeset
43 classifiers=[
91329df47df5 hglib: declare hglib's Python version support (issue4520)
Brett Cannon <brett@python.org>
parents: 134
diff changeset
44 'Programming Language :: Python',
91329df47df5 hglib: declare hglib's Python version support (issue4520)
Brett Cannon <brett@python.org>
parents: 134
diff changeset
45 'Programming Language :: Python :: 2.4',
91329df47df5 hglib: declare hglib's Python version support (issue4520)
Brett Cannon <brett@python.org>
parents: 134
diff changeset
46 'Programming Language :: Python :: 2.5',
91329df47df5 hglib: declare hglib's Python version support (issue4520)
Brett Cannon <brett@python.org>
parents: 134
diff changeset
47 'Programming Language :: Python :: 2.6',
91329df47df5 hglib: declare hglib's Python version support (issue4520)
Brett Cannon <brett@python.org>
parents: 134
diff changeset
48 'Programming Language :: Python :: 2.7',
91329df47df5 hglib: declare hglib's Python version support (issue4520)
Brett Cannon <brett@python.org>
parents: 134
diff changeset
49 'Programming Language :: Python :: 3',
91329df47df5 hglib: declare hglib's Python version support (issue4520)
Brett Cannon <brett@python.org>
parents: 134
diff changeset
50 'Programming Language :: Python :: 3.4',
91329df47df5 hglib: declare hglib's Python version support (issue4520)
Brett Cannon <brett@python.org>
parents: 134
diff changeset
51
91329df47df5 hglib: declare hglib's Python version support (issue4520)
Brett Cannon <brett@python.org>
parents: 134
diff changeset
52 ],
66
358fd5c84270 add a setup.py
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
53 license='MIT',
358fd5c84270 add a setup.py
Idan Kamara <idankk86@gmail.com>
parents:
diff changeset
54 packages=['hglib'])