config/project/Build.scala
Havoc Pennington 2365db970e Get the build ready for publishing releases
Not sure this is quite right, but closer than before.
2011-11-30 16:30:03 -05:00

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)
}