Freeze requirements for sdist packages.
Use installed virtualenv to determine the list of actual dependent versions tested. Change-Id: Iff9781e97f32a318e357ae1d3305a74e2b3ba479
This commit is contained in:
parent
f8e5df11f4
commit
284871b691
1
.gitignore
vendored
1
.gitignore
vendored
@ -3,3 +3,4 @@ dist
|
|||||||
git_review.egg-info
|
git_review.egg-info
|
||||||
MANIFEST
|
MANIFEST
|
||||||
.tox
|
.tox
|
||||||
|
requirements.txt
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
argparse==1.2.1
|
|
||||||
wsgiref==0.1.2
|
|
39
setup.py
39
setup.py
@ -24,6 +24,7 @@ __name__ = "not-main"
|
|||||||
exec(open("git-review", "r"))
|
exec(open("git-review", "r"))
|
||||||
__name__ = savename
|
__name__ = savename
|
||||||
|
|
||||||
|
|
||||||
class git_review_install(install):
|
class git_review_install(install):
|
||||||
# Force single-version-externally-managed
|
# Force single-version-externally-managed
|
||||||
# This puts the manpage in the right location (instead of buried
|
# This puts the manpage in the right location (instead of buried
|
||||||
@ -33,28 +34,40 @@ class git_review_install(install):
|
|||||||
|
|
||||||
git_review_cmdclass = {'install': git_review_install}
|
git_review_cmdclass = {'install': git_review_install}
|
||||||
|
|
||||||
|
|
||||||
def parse_requirements(file_name):
|
def parse_requirements(file_name):
|
||||||
requirements = []
|
requirements = []
|
||||||
for line in open(file_name, 'r').read().split('\n'):
|
if os.path.exists(file_name):
|
||||||
if re.match(r'(\s*#)|(\s*$)', line):
|
for line in open(file_name, 'r').read().split('\n'):
|
||||||
continue
|
if re.match(r'(\s*#)|(\s*$)', line):
|
||||||
if re.match(r'\s*-e\s+', line):
|
continue
|
||||||
requirements.append(re.sub(r'\s*-e\s+.*#egg=(.*)$', r'\1', line))
|
if re.match(r'\s*-e\s+', line):
|
||||||
elif re.match(r'\s*-f\s+', line):
|
requirements.append(re.sub(r'\s*-e\s+.*#egg=(.*)$', r'\1',
|
||||||
pass
|
line))
|
||||||
else:
|
elif re.match(r'\s*-f\s+', line):
|
||||||
requirements.append(line)
|
pass
|
||||||
|
else:
|
||||||
|
requirements.append(line)
|
||||||
|
|
||||||
return requirements
|
return requirements
|
||||||
|
|
||||||
|
|
||||||
def parse_dependency_links(file_name):
|
def parse_dependency_links(file_name):
|
||||||
dependency_links = []
|
dependency_links = []
|
||||||
for line in open(file_name, 'r').read().split('\n'):
|
if os.path.exists(file_name):
|
||||||
if re.match(r'\s*-[ef]\s+', line):
|
for line in open(file_name, 'r').read().split('\n'):
|
||||||
dependency_links.append(re.sub(r'\s*-[ef]\s+', '', line))
|
if re.match(r'\s*-[ef]\s+', line):
|
||||||
|
dependency_links.append(re.sub(r'\s*-[ef]\s+', '', line))
|
||||||
return dependency_links
|
return dependency_links
|
||||||
|
|
||||||
|
venv = os.environ.get('VIRTUAL_ENV', None)
|
||||||
|
if venv is not None:
|
||||||
|
with open("requirements.txt", "w") as req_file:
|
||||||
|
output = subprocess.Popen(["pip", "-E", venv, "freeze", "-l"],
|
||||||
|
stdout=subprocess.PIPE)
|
||||||
|
requirements = output.communicate()[0].strip()
|
||||||
|
req_file.write(requirements)
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='git-review',
|
name='git-review',
|
||||||
version=version,
|
version=version,
|
||||||
|
7
tox.ini
7
tox.ini
@ -2,7 +2,10 @@
|
|||||||
envlist = py26,py27
|
envlist = py26,py27
|
||||||
|
|
||||||
[testenv]
|
[testenv]
|
||||||
#deps = -r{toxinidir}/tools/pip-requires
|
setenv = VIRTUAL_ENV={envdir}
|
||||||
deps = pep8
|
deps = pep8
|
||||||
commands = pep8 git-review
|
argparse
|
||||||
|
commands = pep8 --show-source setup.py git-review
|
||||||
|
|
||||||
|
[testenv:sdist]
|
||||||
|
commands = python setup.py sdist {posargs}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user