Integrate the new provider with --unstable-feature=resolver

This commit is contained in:
Paul Moore 2020-03-18 14:49:49 +00:00
parent 098d00d8c3
commit 1ebe1e0935
2 changed files with 6 additions and 24 deletions

View File

@ -36,6 +36,10 @@ class PipProvider(AbstractProvider):
self._make_install_req
)
def get_install_requirement(self, c):
# type: (Candidate) -> InstallRequirement
return getattr(c, "_ireq", None)
def identify(self, dependency):
# type: (Union[Requirement, Candidate]) -> str
return dependency.name

View File

@ -4,7 +4,9 @@ from pip._vendor.packaging.utils import canonicalize_name
from pip._vendor.resolvelib import BaseReporter
from pip._vendor.resolvelib import Resolver as RLResolver
from pip._internal.req.req_set import RequirementSet
from pip._internal.resolution.base import BaseResolver
from pip._internal.resolution.resolvelib.provider import PipProvider
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
if MYPY_CHECK_RUNNING:
@ -15,32 +17,8 @@ if MYPY_CHECK_RUNNING:
from pip._internal.index.package_finder import PackageFinder
from pip._internal.operations.prepare import RequirementPreparer
from pip._internal.req.req_install import InstallRequirement
from pip._internal.req.req_set import RequirementSet
from pip._internal.resolution.base import InstallRequirementProvider
from .base import Candidate, Requirement
# FIXME: Import the actual implementation.
# This is a stub to pass typing checks.
class PipProvider(object):
def __init__(
self,
finder, # type: PackageFinder
preparer, # type: RequirementPreparer
make_install_req, # type: InstallRequirementProvider
):
# type: (...) -> None
super(PipProvider, self).__init__()
def make_requirement(self, r):
# type: (InstallRequirement) -> Requirement
raise NotImplementedError()
def get_install_requirement(self, c):
# type: (Candidate) -> InstallRequirement
raise NotImplementedError()
class Resolver(BaseResolver):
def __init__(