Port project/auto-settings

This commit is contained in:
Eugene Yokota 2016-03-29 01:29:48 -04:00
parent d7d3ae4f2b
commit c635049f22
3 changed files with 37 additions and 32 deletions

View File

@ -0,0 +1,37 @@
import AddSettings._
// version should be from explicit/a.txt
lazy val root = proj("root", "1.4").settingSets(
buildScalaFiles,
userSettings,
sbtFiles(file("explicit/a.txt"))
)
// version should be from global/user.sbt
lazy val a = proj("a", "1.1").
settingSets( buildScalaFiles, userSettings )
// version should be the default 0.1-SNAPSHOT
lazy val b = proj("b", "0.1-SNAPSHOT").
settingSets(buildScalaFiles)
// version should be from the explicit settings call
lazy val c = proj("c", "0.9").settings(version := "0.9").
settingSets(buildScalaFiles)
// version should be from d/build.sbt
lazy val d = proj("d", "1.3").settings(version := "0.9").
settingSets( buildScalaFiles, defaultSbtFiles )
// version should be from global/user.sbt
lazy val e = proj("e", "1.1").settings(version := "0.9").
settingSets( buildScalaFiles, defaultSbtFiles, sbtFiles(file("../explicit/a.txt")), userSettings )
def proj(id: String, expectedVersion: String): Project =
Project(id, if(id == "root") file(".") else file(id)).
settings(
TaskKey[Unit]("check") := {
assert(version.value == expectedVersion,
"Expected version '" + expectedVersion + "', got: " + version.value + " in " + id)
}
)

View File

@ -1,32 +0,0 @@
import sbt._
import Keys._
import AddSettings._
import Import._
object B extends Build
{
// version should be from explicit/a.txt
lazy val root = project("root", "1.4") settingSets( buildScalaFiles, userSettings, sbtFiles(file("explicit/a.txt")) )
// version should be from global/user.sbt
lazy val a = project("a", "1.1") settingSets( buildScalaFiles, userSettings )
// version should be the default 0.1-SNAPSHOT
lazy val b = project("b", "0.1-SNAPSHOT") settingSets(buildScalaFiles)
// version should be from the explicit settings call
lazy val c = project("c", "0.9") settings(version := "0.9") settingSets(buildScalaFiles)
// version should be from d/build.sbt
lazy val d = project("d", "1.3") settings(version := "0.9") settingSets( buildScalaFiles, defaultSbtFiles )
// version should be from global/user.sbt
lazy val e = project("e", "1.1") settings(version := "0.9") settingSets( buildScalaFiles, defaultSbtFiles, sbtFiles(file("../explicit/a.txt")), userSettings )
def project(id: String, expectedVersion: String): Project = Project(id, if(id == "root") file(".") else file(id)) settings(
TaskKey[Unit]("check") <<= version map { v =>
assert(v == expectedVersion, "Expected version '" + expectedVersion + "', got: " + v)
}
)
}