Skip to content

Commit f28f77f

Browse files
rd4398claude
andcommitted
refactor(resolver): drop redundant req.name from logs, split return, query both wheels and sdists
Remove explicit req.name prefix from log messages since FromagerLogRecord adds it automatically via req_ctxvar_context. Split ternary return into explicit if/return for consistency. Query cache server for both wheels and sdists, picking the newest version across both. Co-Authored-By: Claude <claude@anthropic.com> Signed-off-by: Rohan Devasthale <rdevasth@redhat.com>
1 parent b155fff commit f28f77f

1 file changed

Lines changed: 28 additions & 27 deletions

File tree

src/fromager/bootstrap_requirement_resolver.py

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -163,18 +163,16 @@ def resolve(
163163

164164
if not results and self.multiple_versions and self.cache_wheel_server_url:
165165
logger.info(
166-
"%s: no results found with normal resolution, "
166+
"no results found with normal resolution, "
167167
"falling back to the cache server %s",
168-
req.name,
169168
self.cache_wheel_server_url,
170169
)
171170
results = self._resolve_from_cache_server(req)
172171

173172
if not results:
174173
logger.warning(
175-
"%s: resolver returned no results with "
174+
"resolver returned no results with "
176175
"fallback wheel server URL %s and %s version mode",
177-
req.name,
178176
self.cache_wheel_server_url or "(none)",
179177
"multiple" if self.multiple_versions else "single",
180178
)
@@ -185,7 +183,9 @@ def resolve(
185183

186184
if not results:
187185
return []
188-
return results if return_all_versions else [results[0]]
186+
if return_all_versions:
187+
return results
188+
return [results[0]]
189189

190190
def _resolve_from_cache_server(self, req: Requirement) -> list[tuple[str, Version]]:
191191
"""Fall back to the remote wheel cache server for a cached version.
@@ -196,31 +196,32 @@ def _resolve_from_cache_server(self, req: Requirement) -> list[tuple[str, Versio
196196
re-processed without rebuilding every old version.
197197
"""
198198
logger.info(
199-
"%s: checking cache server %s for existing wheel",
200-
req.name,
199+
"checking cache server %s for existing build",
201200
self.cache_wheel_server_url,
202201
)
203-
try:
204-
provider = finders.PyPICacheProvider(
205-
cache_server_url=self.cache_wheel_server_url,
206-
constraints=self.ctx.constraints,
207-
)
208-
results = resolver.find_all_matching_from_provider(provider, req)
209-
if results:
210-
url, version = results[0]
211-
logger.info(
212-
"%s: found version %s on cache server",
213-
req.name,
214-
version,
202+
best: tuple[str, Version] | None = None
203+
for include_sdists, include_wheels in [(False, True), (True, False)]:
204+
try:
205+
provider = finders.PyPICacheProvider(
206+
cache_server_url=self.cache_wheel_server_url,
207+
constraints=self.ctx.constraints,
208+
include_sdists=include_sdists,
209+
include_wheels=include_wheels,
215210
)
216-
return [(url, version)]
217-
except Exception as err:
218-
logger.warning(
219-
"%s: error checking cache server %s: %s",
220-
req.name,
221-
self.cache_wheel_server_url,
222-
err,
223-
)
211+
results = resolver.find_all_matching_from_provider(provider, req)
212+
if results:
213+
url, version = results[0]
214+
if best is None or version > best[1]:
215+
best = (url, version)
216+
except Exception as err:
217+
logger.warning(
218+
"error checking cache server %s: %s",
219+
self.cache_wheel_server_url,
220+
err,
221+
)
222+
if best is not None:
223+
logger.info("found version %s on cache server", best[1])
224+
return [best]
224225
return []
225226

226227
def get_cached_resolution(

0 commit comments

Comments
 (0)