sbt, the interactive build tool
Go to file
jvican 8bb1676e61
Allow to define concrete resolvers for dependencies
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.
2017-05-12 23:47:05 +02:00
librarymanagement Allow to define concrete resolvers for dependencies 2017-05-12 23:47:05 +02:00
project Update ivy version to include IVY-1515 2017-05-09 11:02:34 +02:00
.gitignore Maven version range improvement 2017-04-04 16:22:28 -04:00
.java-version Cross publish to Scala 2.12 2017-01-07 00:49:45 -05:00
.scalafmt.conf Configure scalafmt and disable scalariform 2017-04-26 22:53:17 +02:00
.travis.yml Configure scalafmt and disable scalariform 2017-04-26 22:53:17 +02:00
README.md Add build.sbt 2015-08-19 03:56:08 -04:00
build.sbt Disable parallel execution 2017-05-09 11:02:34 +02:00
sbt-allsources.sh sbt-contraband 0.3.0-M4 2017-03-17 23:03:37 -04:00

README.md

librarymanagement module for sbt

git clone --no-hardlinks --branch 0.13 sbt sbt-modules/librarymanagement
cd sbt-modules/librarymanagement
git filter-branch --index-filter 'git rm --cached -qr -- . && git reset -q $GIT_COMMIT -- ivy util/cross' --prune-empty
git reset --hard
git gc --aggressive
git prune
git cb 1.0