PR #938 defines a model layer for declarative source configuration with provider classes, a RetrieveMethod enum, and discriminated union dispatch. This issue tracks wiring that model layer into the runtime so YAML-configured providers are used by the resolver and download pipelines.
Work items:
- Modify
default_resolver_provider() in resolver.py to check pbi.source_resolver before returning PyPIProvider
- Modify
default_download_source() in sources.py to detect git+https:// / git+ssh:// URLs and route to the git clone path
- Add
remove_dot_git field to GitOptions
- Connect
git_options (submodules, submodule_paths, remove_dot_git) to the git clone download path
Plugin precedence is preserved — overrides.find_and_invoke() calls the plugin hook first. The source_resolver check only runs when no plugin exists.
See: #937, #938, #936
PR #938 defines a model layer for declarative source configuration with provider classes, a
RetrieveMethodenum, and discriminated union dispatch. This issue tracks wiring that model layer into the runtime so YAML-configured providers are used by the resolver and download pipelines.Work items:
default_resolver_provider()inresolver.pyto checkpbi.source_resolverbefore returningPyPIProviderdefault_download_source()insources.pyto detectgit+https:///git+ssh://URLs and route to the git clone pathremove_dot_gitfield toGitOptionsgit_options(submodules, submodule_paths, remove_dot_git) to the git clone download pathPlugin precedence is preserved —
overrides.find_and_invoke()calls the plugin hook first. Thesource_resolvercheck only runs when no plugin exists.See: #937, #938, #936