jenkins-bot submitted this change.
[IMPR] Validate setuptools only once
check_modules function is called every time pwb.py is executed but
called a second time if a script is invoked. Run this check only
once.
Change-Id: If7a8541b362ecdf38571679b82eaee73a4429d24
---
M pwb.py
1 file changed, 18 insertions(+), 15 deletions(-)
diff --git a/pwb.py b/pwb.py
index f93eeb9..b8ddd82 100755
--- a/pwb.py
+++ b/pwb.py
@@ -182,27 +182,30 @@
"""
import pkg_resources
- from setup import dependencies, script_deps
+ from setup import script_deps
missing_requirements = []
version_conflicts = []
- try:
- requirement = next(pkg_resources.parse_requirements(dependencies))
- except ValueError as e:
- # T286980: setuptools is too old and requirement parsing fails
- import setuptools
- setupversion = tuple(int(num)
- for num in setuptools.__version__.split('.'))
- if setupversion < (20, 8, 1):
- # print the minimal requirement
- _print_requirements(['setuptools==20.8.1'], None,
- 'outdated ({})'.format(setuptools.__version__))
- return False
- raise e
-
if script:
dependencies = script_deps.get(Path(script).name, [])
+ else:
+ from setup import dependencies
+ try:
+ next(pkg_resources.parse_requirements(dependencies))
+ except ValueError as e:
+ # T286980: setuptools is too old and requirement parsing fails
+ import setuptools
+ setupversion = tuple(int(num)
+ for num in setuptools.__version__.split('.'))
+ if setupversion < (20, 8, 1):
+ # print the minimal requirement
+ _print_requirements(
+ ['setuptools>=20.8.1'], None,
+ 'outdated ({})'.format(setuptools.__version__))
+ return False
+ raise e
+
for requirement in pkg_resources.parse_requirements(dependencies):
if requirement.marker is None \
or pkg_resources.evaluate_marker(str(requirement.marker)):
To view, visit change 725719. To unsubscribe, or for help writing mail filters, visit settings.