mirror of https://github.com/sbt/sbt.git
Merge pull request #2911 from eed3si9n/fport/cached-resolution-configurations
[fport] Adds back dependency-management /cached-resolution-configurations
This commit is contained in:
commit
3ce06e15c5
|
|
@ -0,0 +1,5 @@
|
|||
package a
|
||||
|
||||
object A {
|
||||
romanowski.sbt.bug.MissingClass("A")
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
package b
|
||||
|
||||
object B {
|
||||
romanowski.sbt.bug.MissingClass("A")
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
def commonSettings: Vector[Def.Setting[_]] =
|
||||
Vector(
|
||||
organization := "com.example",
|
||||
ivyPaths := IvyPaths( (baseDirectory in ThisBuild).value, Some((baseDirectory in LocalRootProject).value / "ivy-cache")),
|
||||
dependencyCacheDirectory := (baseDirectory in LocalRootProject).value / "dependency",
|
||||
resolvers += Resolver.file("buggy", (baseDirectory in LocalRootProject).value / "repo")(
|
||||
Patterns(
|
||||
ivyPatterns = Vector("[organization]/[module]/[revision]/ivy.xml"),
|
||||
artifactPatterns = Vector("[organization]/[module]/[revision]/[artifact]"),
|
||||
isMavenCompatible = false,
|
||||
descriptorOptional = true,
|
||||
skipConsistencyCheck = true
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
lazy val a = project settings(
|
||||
commonSettings,
|
||||
updateOptions := updateOptions.value.withCachedResolution(true), //comment this line to make ws compile
|
||||
libraryDependencies += "a" % "b" % "1.0.0" % "compile->runtime",
|
||||
libraryDependencies += "a" % "b" % "1.0.0" % "compile->runtime2"
|
||||
)
|
||||
|
||||
lazy val b = project dependsOn(a) settings(
|
||||
commonSettings,
|
||||
updateOptions := updateOptions.value.withCachedResolution(true), //comment this line to make ws compile
|
||||
libraryDependencies += "a" % "b" % "1.0.1" % "compile->runtime"
|
||||
)
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,16 @@
|
|||
<ivy-module xmlns:e="http://ant.apache.org/ivy/extra" version="2.0">
|
||||
<info organisation="a" module="b" revision="1.0.0" status="release" publication="20160201120702">
|
||||
<description>a</description>
|
||||
</info>
|
||||
<configurations>
|
||||
<conf name="runtime" description="..."/>
|
||||
<conf name="runtime2" description="..."/>
|
||||
</configurations>
|
||||
<publications>
|
||||
<artifact name="b1.jar" type="jar" ext="jar" conf="runtime"/>
|
||||
<artifact name="b2.jar" type="jar" ext="jar" conf="runtime"/>
|
||||
<artifact name="b3.jar" type="jar" ext="jar" conf="runtime2"/>
|
||||
</publications>
|
||||
<dependencies>
|
||||
</dependencies>
|
||||
</ivy-module>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,16 @@
|
|||
<ivy-module xmlns:e="http://ant.apache.org/ivy/extra" version="2.0">
|
||||
<info organisation="a" module="b" revision="1.0.1" status="release" publication="20160201120702">
|
||||
<description>a</description>
|
||||
</info>
|
||||
<configurations>
|
||||
<conf name="runtime" description="..."/>
|
||||
<conf name="runtime2" description="..."/>
|
||||
</configurations>
|
||||
<publications>
|
||||
<artifact name="b1.jar" type="jar" ext="jar" conf="runtime"/>
|
||||
<artifact name="b2.jar" type="jar" ext="jar" conf="runtime"/>
|
||||
<artifact name="b3.jar" type="jar" ext="jar" conf="runtime2"/>
|
||||
</publications>
|
||||
<dependencies>
|
||||
</dependencies>
|
||||
</ivy-module>
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
# In this test, we have a project `a`, on which a project `b` depends.
|
||||
# project `a` has a library dependency on:
|
||||
# - "a" % "b" % "1.0.0" % "compile->runtime"
|
||||
# - "a" % "b" % "1.0.0" % "compile->runtime2"
|
||||
# project "b" depends on:
|
||||
# - project `a`
|
||||
# - "b" % "b" % "1.0.1" % "compile->runtime"
|
||||
# "a" % "b" % "1.0.0" will be evicted in favor of "a" % "b" % "1.0.1", but we
|
||||
# have to keep the dependency on the two configurations "runtime" and "runtime2".
|
||||
# This test makes sure that we actually do.
|
||||
> compile
|
||||
Loading…
Reference in New Issue