@@ -52,26 +52,15 @@ def get_response(url):
5252 return None
5353
5454
55- def get_requirements_from_distribution (handler , location , resolved_requirements ):
55+ def get_requirements_from_distribution (handler , location ):
5656 """
5757 Return a list of requirements from a distribution.
5858 """
5959 if not os .path .exists (location ):
6060 return []
6161 deps = list (handler .parse (location ))
6262 assert len (deps ) == 1
63- return list (
64- get_requirements_from_dependencies (
65- deps [0 ].dependencies , resolved_requirements = resolved_requirements
66- )
67- )
68-
69-
70- def is_dep_resolved_and_in_resolved_requirements (dep , dep_purl_name , resolved_requirements ):
71- """
72- Return True if the given ``dep`` is resolved and is in the given ``resolved_requirements``.
73- """
74- return dep .is_resolved and dep_purl_name in resolved_requirements
63+ return list (get_requirements_from_dependencies (deps [0 ].dependencies ))
7564
7665
7766def is_requirements_file_in_setup_files (setup_files ):
@@ -150,7 +139,7 @@ def fetch_and_extract_sdist(repos, candidate, python_version):
150139 return os .path .join (utils_pypi .CACHE_THIRDPARTY_DIR , "extracted_sdists" , sdist_file , sdist_file )
151140
152141
153- def get_requirements_from_dependencies (dependencies , resolved_requirements ):
142+ def get_requirements_from_dependencies (dependencies ):
154143 """
155144 Generate parsed requirements for the given ``dependencies``.
156145 """
@@ -161,20 +150,6 @@ def get_requirements_from_dependencies(dependencies, resolved_requirements):
161150 if dep .scope != "install" :
162151 continue
163152
164- dep_purl = PackageURL .from_string (dep .purl )
165-
166- dep_purl_name = packaging .utils .canonicalize_name (dep_purl .name )
167-
168- if is_dep_resolved_and_in_resolved_requirements (
169- dep = dep , dep_purl_name = dep_purl_name , resolved_requirements = resolved_requirements
170- ):
171- yield packaging .requirements .Requirement (
172- f"{ str (dep_purl_name )} { str (resolved_requirements [str (dep_purl_name )])} "
173- )
174- continue
175-
176- if dep .is_resolved :
177- resolved_requirements [dep_purl_name ] = f"=={ dep_purl .version } "
178153 # skip the requirement starting with -- like
179154 # --editable, --requirement
180155 if not dep .extracted_requirement .startswith ("-" ):
@@ -191,13 +166,12 @@ def remove_extras(identifier):
191166
192167
193168class PythonInputProvider (AbstractProvider ):
194- def __init__ (self , environment = None , repos = tuple (), resolved_requirements = tuple () ):
169+ def __init__ (self , environment = None , repos = tuple ()):
195170 self .environment = environment
196171 self .repos = repos or []
197172 self .versions_by_package = {}
198173 self .dependencies_by_purl = {}
199174 self .wheel_or_sdist_by_package = {}
200- self .resolved_requirements = resolved_requirements
201175
202176 def identify (self , requirement_or_candidate ):
203177 """Given a requirement, return an identifier for it. Overridden."""
@@ -297,7 +271,6 @@ def get_requirements_for_package_from_pypi_simple(self, candidate):
297271 deps = get_requirements_from_distribution (
298272 handler = PypiWheelHandler ,
299273 location = wheel_location ,
300- resolved_requirements = self .resolved_requirements ,
301274 )
302275 if deps :
303276 has_wheels = True
@@ -329,7 +302,6 @@ def get_requirements_for_package_from_pypi_simple(self, candidate):
329302 deps = get_requirements_from_distribution (
330303 handler = handler ,
331304 location = location ,
332- resolved_requirements = self .resolved_requirements ,
333305 )
334306 if deps :
335307 deps_in_setup = True
@@ -345,7 +317,6 @@ def get_requirements_for_package_from_pypi_simple(self, candidate):
345317 deps = get_requirements_from_distribution (
346318 hanlder = PipRequirementsFileHandler ,
347319 location = requirement_location ,
348- resolved_requirements = self .resolved_requirements ,
349320 )
350321 if deps :
351322 yield from deps
@@ -577,15 +548,8 @@ def get_resolved_dependencies(
577548 Used the provided ``repos`` list of PypiSimpleRepository.
578549 If empty, use instead the PyPI.org JSON API exclusively instead
579550 """
580- resolved_requirements = {
581- packaging .utils .canonicalize_name (r .name ): r .specifier
582- for r in requirements
583- if getattr (r , "is_requirement_resolved" , False )
584- }
585551 resolver = Resolver (
586- provider = PythonInputProvider (
587- environment = environment , repos = repos , resolved_requirements = resolved_requirements
588- ),
552+ provider = PythonInputProvider (environment = environment , repos = repos ),
589553 reporter = BaseReporter (),
590554 )
591555 results = resolver .resolve (requirements = requirements , max_rounds = max_rounds )
0 commit comments