mirror of https://github.com/sbt/sbt.git
Port dependency-management/provided-multi
This commit is contained in:
parent
1f73d9eadc
commit
3f4195022d
|
|
@ -1,25 +0,0 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object P extends Build
|
||||
{
|
||||
override def settings = super.settings ++ Seq(
|
||||
scalaBinaryVersion in update := "2.9.0"
|
||||
)
|
||||
|
||||
def configIvyScala =
|
||||
ivyScala ~= { _.map(_.copy(checkExplicit = false)) }
|
||||
|
||||
val declared = SettingKey[Boolean]("declared")
|
||||
lazy val a = Project("A", file("a")) settings(
|
||||
libraryDependencies += "org.scala-tools.sbinary" %% "sbinary" % "0.4.0" % "provided",
|
||||
configIvyScala
|
||||
)
|
||||
|
||||
lazy val b = Project("B", file("b")) dependsOn(a) settings(
|
||||
libraryDependencies <<= declared(d => if(d) Seq("org.scala-tools.sbinary" %% "sbinary" % "0.4.0" % "provided") else Nil),
|
||||
declared <<= baseDirectory(_ / "declare.lib" exists),
|
||||
configIvyScala
|
||||
)
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
def configIvyScala =
|
||||
ivyScala ~= { _.map(_.copy(checkExplicit = false)) }
|
||||
|
||||
val declared = SettingKey[Boolean]("declared")
|
||||
lazy val a = project.
|
||||
settings(
|
||||
libraryDependencies += "org.scala-tools.sbinary" %% "sbinary" % "0.4.0" % "provided",
|
||||
configIvyScala,
|
||||
scalaBinaryVersion in update := "2.9.0"
|
||||
)
|
||||
|
||||
lazy val b = project.
|
||||
dependsOn(a).
|
||||
settings(
|
||||
libraryDependencies <<= declared(d => if(d) Seq("org.scala-tools.sbinary" %% "sbinary" % "0.4.0" % "provided") else Nil),
|
||||
declared <<= baseDirectory(_ / "declare.lib" exists),
|
||||
configIvyScala,
|
||||
scalaBinaryVersion in update := "2.9.0"
|
||||
)
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
$ copy-file changes/P.scala project/P.scala
|
||||
$ copy-file changes/p.sbt p.sbt
|
||||
$ copy-file changes/A.scala a/src/main/scala/A.scala
|
||||
$ copy-file changes/B.scala b/src/main/scala/B.scala
|
||||
> reload
|
||||
|
||||
> A/compile
|
||||
-> B/compile
|
||||
> a/compile
|
||||
-> b/compile
|
||||
|
||||
$ touch b/declare.lib
|
||||
> reload
|
||||
> compile
|
||||
> compile
|
||||
|
|
|
|||
Loading…
Reference in New Issue