Bug 1680802: Install pylint requirements with legacy resolver r=firefox-build-system-reviewers,sheehan,glandium

pylint_requirements.txt fail to install with the new pip resolver due
to a conflict between astroid and lazy-object-proxy.
Rather than bumping those packages and handling the potential fallout,
the package-upgrade has been deferred and we will use the legacy
resolver in the interrim.

Differential Revision: https://phabricator.services.mozilla.com/D99940
This commit is contained in:
Mitchell Hentges 2021-01-05 20:14:25 +00:00
parent bc2eae5457
commit f4a03e538f
3 changed files with 19 additions and 3 deletions

View File

@ -242,7 +242,11 @@ class MachCommands(MachCommandBase):
and test["requirements"] not in installed_requirements
):
self.virtualenv_manager.install_pip_requirements(
test["requirements"], quiet=True
test["requirements"],
quiet=True,
# pylint_requirements.txt must use the legacy resolver until bug 1682959
# is resolved.
legacy_resolver=True,
)
installed_requirements.add(test["requirements"])

View File

@ -619,7 +619,12 @@ class VirtualenvManager(VirtualenvHelper):
return self._run_pip(args)
def install_pip_requirements(
self, path, require_hashes=True, quiet=False, vendored=False
self,
path,
require_hashes=True,
quiet=False,
vendored=False,
legacy_resolver=False,
):
"""Install a pip requirements.txt file.
@ -654,6 +659,9 @@ class VirtualenvManager(VirtualenvHelper):
]
)
if legacy_resolver:
args.append("--use-deprecated=legacy-resolver")
return self._run_pip(args)
def _run_pip(self, args):

View File

@ -51,7 +51,11 @@ def setup(root, **lintargs):
virtualenv_manager = lintargs["virtualenv_manager"]
try:
virtualenv_manager.install_pip_requirements(
PYLINT_REQUIREMENTS_PATH, quiet=True
PYLINT_REQUIREMENTS_PATH,
quiet=True,
# The defined versions of astroid and lazy-object-proxy conflict and fail to
# install with the new 2020 pip resolver (bug 1682959)
legacy_resolver=True,
)
except subprocess.CalledProcessError:
print(PYLINT_INSTALL_ERROR)