feat(resolver): add LegacyResolver for legacy resolution and download#1237
feat(resolver): add LegacyResolver for legacy resolution and download#1237tiran wants to merge 1 commit into
LegacyResolver for legacy resolution and download#1237Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
This pull request has merge conflicts that must be resolved before it can be merged. |
Add `LegacyResolver` class that preserves the existing resolution and download behavior as a typed resolver. When the `source` field is eventually enabled on `PackageSettings`, packages without an explicit typed resolver can use `provider: legacy` to keep the old behavior. `resolver_provider()` replicates `sources.get_source_provider()`: reads `resolver_dist` settings from per-package build info, invokes the `get_resolver_provider` override hook, and applies the per-package cooldown. `download()` checks `pbi.pre_built`: when true, delegates to the pre-built wheel downloader; otherwise invokes the `download_source` override hook via `overrides.find_and_invoke()`. Co-Authored-By: Claude <claude@anthropic.com> Signed-off-by: Christian Heimes <cheimes@redhat.com>
Pull Request Description
What
Add
LegacyResolverclass that preserves the existing resolution anddownload behavior as a typed resolver. When the
sourcefield iseventually enabled on
PackageSettings, packages without an explicittyped resolver can use
provider: legacyto keep the old behavior.resolver_provider()replicatessources.get_source_provider(): readsresolver_distsettings from per-package build info, invokes theget_resolver_provideroverride hook, and applies the per-packagecooldown.
download()checkspbi.pre_built: when true, delegates to thepre-built wheel downloader; otherwise invokes the
download_sourceoverride hook via
overrides.find_and_invoke().Why
Legacy provider will be used to gradually update to new resolver and downloader.