mirror of https://github.com/sbt/sbt.git
Sometimes, for predictability and performance, we may be interested in specifying the concrete resolver that a `ModuleID` should use. This patch achieves this by adding a new field to `UpdateOptions` and then getting this information from the `SbtChainResolver`, that will select the concrete resolver for a given dependency descriptor. Why is this useful? Well, two reasons: * Predictable behaviour. We have the guarantee that an artifact only comes from a concrete resolver. * Resolution speedup. Around 1/3 or 1/2 times faster than normal resolution in a moderate test case scenario. If there is a lot of latency or network connection is poor, speedups will be higher. LOGS: ``` NORMAL RESOLUTION TIME 1790 FASTER RESOLUTION TIME 1054 ``` ``` NORMAL RESOLUTION TIME 2078 FASTER RESOLUTION TIME 1055 ``` Lots of projects can benefit from this option, as well as organizations and companies. This will eventually integrate with the dependency lock file, but can be used independently of it. |
||
|---|---|---|
| .. | ||
| src | ||
| NOTICE | ||