This updates the NuGetCommon class to better handle lookups of package dependencies when an exact version range is used as the dependency.
Additionally, some optimizations when looking up valid packages are also implemented, by only look up the dependencies of a dependency that is inside of the valid version range that the package specifies.
Motivation and Context
Some optimizations, and better handling of exact version ranges. Additionally, without this change users of CCR will not be able to install a meta package and its dependency until both have been approved or exempted.
Testing
Testing have been performed against an internal testing repository which will be called out as hermes.
Description Of Changes
This updates the NuGetCommon class to better handle lookups of package dependencies when an exact version range is used as the dependency.
Additionally, some optimizations when looking up valid packages are also implemented, by only look up the dependencies of a dependency that is inside of the valid version range that the package specifies.
Motivation and Context
Some optimizations, and better handling of exact version ranges. Additionally, without this change users of CCR will not be able to install a meta package and its dependency until both have been approved or exempted.
Testing
Testing have been performed against an internal testing repository which will be called out as hermes.
choco install hasbetadependency --version 1.1.0-beta --ignore-http-cache --verbose --source hermes
hasbetadependency
andisexactversiondependency
is looked up using a specific version.--pre
instead of--version
.choco install toplevelhasexactversiondependency --ignore-http-cache --verbose --source hermes
toplevelhasexactversiondependency
andchilddependencywithlooserversiondependency
is looked up using a specific verison.choco install toplevelwithnesteddependencies --ignore-http-cache --verbose --source hermes
toplevelwithnesteddependencies
andchilddependencywithlooserversiondependency
is looked up using a specific version.choco install hasoutofrangedependency --version 2.0.2 --ignore-http-cache --verbose --source hermes
hasoutofrangedependency
andhasdependency
is looked up using a specific version.hasdependency
falled back to attempting theFindPackagesById
endpoint.Operating Systems Testing
Change Types Made
Change Checklist
Related Issue
Fixes #3433