mirror of https://github.com/pypa/pip
Parameterize check_supported_wheels to Resolver.resolve
This reduces our dependence on the input RequirementSet.
This commit is contained in:
parent
58c06299db
commit
550ae907bd
|
@ -132,7 +132,9 @@ class DownloadCommand(RequirementCommand):
|
|||
|
||||
self.trace_basic_info(finder)
|
||||
|
||||
requirement_set = resolver.resolve(requirement_set)
|
||||
requirement_set = resolver.resolve(
|
||||
requirement_set, requirement_set.check_supported_wheels
|
||||
)
|
||||
|
||||
downloaded = ' '.join([
|
||||
req.name for req in requirement_set.successfully_downloaded
|
||||
|
|
|
@ -328,7 +328,9 @@ class InstallCommand(RequirementCommand):
|
|||
|
||||
self.trace_basic_info(finder)
|
||||
|
||||
requirement_set = resolver.resolve(requirement_set)
|
||||
requirement_set = resolver.resolve(
|
||||
requirement_set, requirement_set.check_supported_wheels
|
||||
)
|
||||
|
||||
try:
|
||||
pip_req = requirement_set.get_requirement("pip")
|
||||
|
|
|
@ -158,7 +158,9 @@ class WheelCommand(RequirementCommand):
|
|||
|
||||
self.trace_basic_info(finder)
|
||||
|
||||
requirement_set = resolver.resolve(requirement_set)
|
||||
requirement_set = resolver.resolve(
|
||||
requirement_set, requirement_set.check_supported_wheels
|
||||
)
|
||||
|
||||
reqs_to_build = [
|
||||
r for r in requirement_set.requirements.values()
|
||||
|
|
|
@ -147,8 +147,8 @@ class Resolver(object):
|
|||
self._discovered_dependencies = \
|
||||
defaultdict(list) # type: DiscoveredDependencies
|
||||
|
||||
def resolve(self, requirement_set):
|
||||
# type: (RequirementSet) -> RequirementSet
|
||||
def resolve(self, requirement_set, check_supported_wheels):
|
||||
# type: (RequirementSet, bool) -> RequirementSet
|
||||
"""Resolve what operations need to be done
|
||||
|
||||
As a side-effect of this method, the packages (and their dependencies)
|
||||
|
@ -163,7 +163,6 @@ class Resolver(object):
|
|||
requirement_set.unnamed_requirements +
|
||||
list(requirement_set.requirements.values())
|
||||
)
|
||||
check_supported_wheels = requirement_set.check_supported_wheels
|
||||
requirement_set = RequirementSet(
|
||||
check_supported_wheels=check_supported_wheels
|
||||
)
|
||||
|
|
|
@ -113,6 +113,7 @@ class TestRequirementSet(object):
|
|||
(req, build_dir.replace('\\', '\\\\')),
|
||||
resolver.resolve,
|
||||
reqset,
|
||||
True,
|
||||
)
|
||||
|
||||
# TODO: Update test when Python 2.7 is dropped.
|
||||
|
@ -129,7 +130,7 @@ class TestRequirementSet(object):
|
|||
reqset.add_requirement(req)
|
||||
finder = make_test_finder(find_links=[data.find_links])
|
||||
with self._basic_resolver(finder) as resolver:
|
||||
reqset = resolver.resolve(reqset)
|
||||
reqset = resolver.resolve(reqset, True)
|
||||
# This is hacky but does test both case in py2 and py3
|
||||
if sys.version_info[:2] == (2, 7):
|
||||
assert reqset.has_requirement('simple')
|
||||
|
@ -155,7 +156,8 @@ class TestRequirementSet(object):
|
|||
r' simple==1.0 --hash=sha256:393043e672415891885c9a2a0929b1'
|
||||
r'af95fb866d6ca016b42d2e6ce53619b653$',
|
||||
resolver.resolve,
|
||||
reqset
|
||||
reqset,
|
||||
True,
|
||||
)
|
||||
|
||||
def test_missing_hash_with_require_hashes_in_reqs_file(self, data, tmpdir):
|
||||
|
@ -210,6 +212,7 @@ class TestRequirementSet(object):
|
|||
r"\(from -r file \(line 2\)\)".format(sep=sep),
|
||||
resolver.resolve,
|
||||
reqset,
|
||||
True,
|
||||
)
|
||||
|
||||
def test_unpinned_hash_checking(self, data):
|
||||
|
@ -238,6 +241,7 @@ class TestRequirementSet(object):
|
|||
r' simple2>1.0 .* \(from -r file \(line 2\)\)',
|
||||
resolver.resolve,
|
||||
reqset,
|
||||
True,
|
||||
)
|
||||
|
||||
def test_hash_mismatch(self, data):
|
||||
|
@ -259,6 +263,7 @@ class TestRequirementSet(object):
|
|||
r'866d6ca016b42d2e6ce53619b653$',
|
||||
resolver.resolve,
|
||||
reqset,
|
||||
True,
|
||||
)
|
||||
|
||||
def test_unhashed_deps_on_require_hashes(self, data):
|
||||
|
@ -281,6 +286,7 @@ class TestRequirementSet(object):
|
|||
r' TopoRequires from .*$',
|
||||
resolver.resolve,
|
||||
reqset,
|
||||
True,
|
||||
)
|
||||
|
||||
def test_hashed_deps_on_require_hashes(self):
|
||||
|
|
Loading…
Reference in New Issue