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
|
||||
MANIFEST
|
||||
.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"))
|
||||
__name__ = savename
|
||||
|
||||
|
||||
class git_review_install(install):
|
||||
# Force single-version-externally-managed
|
||||
# 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}
|
||||
|
||||
|
||||
def parse_requirements(file_name):
|
||||
requirements = []
|
||||
for line in open(file_name, 'r').read().split('\n'):
|
||||
if re.match(r'(\s*#)|(\s*$)', line):
|
||||
continue
|
||||
if re.match(r'\s*-e\s+', line):
|
||||
requirements.append(re.sub(r'\s*-e\s+.*#egg=(.*)$', r'\1', line))
|
||||
elif re.match(r'\s*-f\s+', line):
|
||||
pass
|
||||
else:
|
||||
requirements.append(line)
|
||||
if os.path.exists(file_name):
|
||||
for line in open(file_name, 'r').read().split('\n'):
|
||||
if re.match(r'(\s*#)|(\s*$)', line):
|
||||
continue
|
||||
if re.match(r'\s*-e\s+', line):
|
||||
requirements.append(re.sub(r'\s*-e\s+.*#egg=(.*)$', r'\1',
|
||||
line))
|
||||
elif re.match(r'\s*-f\s+', line):
|
||||
pass
|
||||
else:
|
||||
requirements.append(line)
|
||||
|
||||
return requirements
|
||||
|
||||
|
||||
def parse_dependency_links(file_name):
|
||||
dependency_links = []
|
||||
for line in open(file_name, 'r').read().split('\n'):
|
||||
if re.match(r'\s*-[ef]\s+', line):
|
||||
dependency_links.append(re.sub(r'\s*-[ef]\s+', '', line))
|
||||
|
||||
if os.path.exists(file_name):
|
||||
for line in open(file_name, 'r').read().split('\n'):
|
||||
if re.match(r'\s*-[ef]\s+', line):
|
||||
dependency_links.append(re.sub(r'\s*-[ef]\s+', '', line))
|
||||
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(
|
||||
name='git-review',
|
||||
version=version,
|
||||
|
Loading…
x
Reference in New Issue
Block a user