Mercurial > hgsubversion
comparison setup.py @ 562:c538229d02ca
setup: work around easy_install by getting version with a regex
| author | Augie Fackler <durin42@gmail.com> |
|---|---|
| date | Mon, 15 Feb 2010 10:53:34 -0600 |
| parents | 97f2079e3778 |
| children | 09c016174e33 |
comparison
equal
deleted
inserted
replaced
| 561:312c8c98eeff | 562:c538229d02ca |
|---|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # -*- coding: utf-8 -*- | 2 # -*- coding: utf-8 -*- |
| 3 import os | 3 import os |
| 4 import re | |
| 4 import subprocess | 5 import subprocess |
| 5 import sys | 6 import sys |
| 6 import time | 7 import time |
| 7 if not hasattr(sys, 'version_info') or sys.version_info < (2, 4, 0, 'final'): | 8 if not hasattr(sys, 'version_info') or sys.version_info < (2, 4, 0, 'final'): |
| 8 raise SystemExit("Mercurial requires python 2.4 or later.") | 9 raise SystemExit("Mercurial requires python 2.4 or later.") |
| 74 elif 'latesttag' in kw: | 75 elif 'latesttag' in kw: |
| 75 version = '%(latesttag)s+%(latesttagdistance)s-%(node).12s' % kw | 76 version = '%(latesttag)s+%(latesttagdistance)s-%(node).12s' % kw |
| 76 else: | 77 else: |
| 77 version = kw.get('node', '')[:12] | 78 version = kw.get('node', '')[:12] |
| 78 | 79 |
| 80 verfile = os.path.join("hgsubversion", "__version__.py") | |
| 79 if version: | 81 if version: |
| 80 f = open("hgsubversion/__version__.py", "w") | 82 f = open(verfile, "w") |
| 81 f.write('# this file is autogenerated by setup.py\n') | 83 f.write('# this file is autogenerated by setup.py\n') |
| 82 f.write('version = "%s"\n' % version) | 84 f.write('version = "%s"\n' % version) |
| 83 f.close() | 85 f.close() |
| 84 | 86 |
| 85 try: | 87 if os.path.exists(verfile): |
| 86 from hgsubversion import __version__ | 88 # scrape the version out with a regex because setuptools |
| 87 version = __version__.version | 89 # needlessly swaps out file() for some non-object thing |
| 88 except ImportError: | 90 # and breaks importing hgsubversion entirely |
| 91 mat = re.findall('.*"(.*)"', open(verfile).read()) | |
| 92 version = mat[0] | |
| 93 if not version: | |
| 89 version = 'unknown' | 94 version = 'unknown' |
| 90 | 95 |
| 91 try: | 96 try: |
| 92 from svn import core | 97 from svn import core |
| 93 assert core.SVN_VER_MAJOR == 1 | 98 assert core.SVN_VER_MAJOR == 1 |
