mirror of
https://github.com/lightbend/config.git
synced 2025-01-15 23:01:05 +08:00
2365db970e
Not sure this is quite right, but closer than before.
44 lines
1.9 KiB
Scala
44 lines
1.9 KiB
Scala
import sbt._
|
|
import Keys._
|
|
|
|
object ConfigBuild extends Build {
|
|
val unpublished = Seq(
|
|
// no artifacts in this project
|
|
publishArtifact := false,
|
|
// make-pom has a more specific publishArtifact setting already
|
|
// so needs specific override
|
|
publishArtifact in makePom := false,
|
|
// can't seem to get rid of ivy files except by no-op'ing the entire publish task
|
|
publish := {},
|
|
publishLocal := {}
|
|
)
|
|
|
|
// this is in newer sbt versions, for now cut-and-pasted
|
|
val isSnapshot = SettingKey[Boolean]("is-snapshot", "True if the the version of the project is a snapshot version.")
|
|
|
|
override val settings = super.settings ++ Seq(isSnapshot <<= isSnapshot or version(_ endsWith "-SNAPSHOT"))
|
|
|
|
lazy val root = Project(id = "root",
|
|
base = file("."),
|
|
settings = Project.defaultSettings ++ unpublished) aggregate(testLib, configLib, simpleLib, simpleApp)
|
|
|
|
lazy val configLib = Project(id = "config",
|
|
base = file("config")) dependsOn(testLib % "test->test")
|
|
|
|
lazy val testLib = Project(id = "test-lib",
|
|
base = file("test-lib"),
|
|
settings = Project.defaultSettings ++ unpublished)
|
|
|
|
lazy val simpleLib = Project(id = "simple-lib",
|
|
base = file("examples/simple-lib"),
|
|
settings = Project.defaultSettings ++ unpublished) dependsOn(configLib)
|
|
|
|
lazy val simpleApp = Project(id = "simple-app",
|
|
base = file("examples/simple-app"),
|
|
settings = Project.defaultSettings ++ unpublished) dependsOn(simpleLib)
|
|
|
|
lazy val complexApp = Project(id = "complex-app",
|
|
base = file("examples/complex-app"),
|
|
settings = Project.defaultSettings ++ unpublished) dependsOn(simpleLib)
|
|
}
|