mirror of
https://github.com/sbt/sbt.git
synced 2026-09-04 08:45:56 +02:00
92ca28e25af3383b5db9a79642fc57a2d9de5a90
Consider a configuration where we have two projects, A and B. A has a library dependency on "a" % "b" % "1.0.0" % "compile->runtime" and "a" % "b" % "1.0.0" % "compile->runtime2" B depends on project A, and has a library dependency on "a" % "b" % "1.0.1" % "compile->runtime". Note that project B depends on a more recent version of "a" % "b" than project A, and that it depends ONLY on it's "runtime" configuration. However, when compiling project B, we expect to have on the classpath project A, and "a" % "b" % "1.0.1" % "compile->runtime" AND "a" % "b" % "1.0.1" % "compile->runtime2" because it is part of the compile configuration of project A. This commit changes the cached resolution engine so that it behaves like that, by first resolving dependencies on other project and then ensuring that the dependent project specifies dependencies on the same configurations. Mark test dependency-management/cached-resolution-configurations as passing.
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
Languages
Scala
94.5%
Java
3.1%
Shell
1.1%
Batchfile
0.9%
Roff
0.2%
Other
0.1%