aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/build-info-example/build/build.scala15
-rw-r--r--examples/build-info-example/src_generated/BuildInfo.scala (renamed from examples/build-info-example/src/BuildInfo.scala)0
-rw-r--r--stage1/Stage1Lib.scala2
3 files changed, 7 insertions, 10 deletions
diff --git a/examples/build-info-example/build/build.scala b/examples/build-info-example/build/build.scala
index b5ea86b..cc4c2db 100644
--- a/examples/build-info-example/build/build.scala
+++ b/examples/build-info-example/build/build.scala
@@ -6,9 +6,10 @@ class Build(val context: Context) extends PackageJars{
def groupId = "cbt.examples"
override def defaultScalaVersion = "2.11.8"
def version = "0.1"
- override def compile = {
- val file = (projectDirectory ++ "/BuildInfo.scala").toPath
- val contents = s"""// generated file
+ override def compile = { buildInfo; super.compile }
+ def buildInfo = lib.writeIfChanged(
+ projectDirectory / "src_generated/BuildInfo.scala",
+ s"""// generated file
import java.io._
object BuildInfo{
def artifactId = "$artifactId"
@@ -17,11 +18,5 @@ def version = "$version"
def scalaVersion = "$scalaVersion"
}
"""
- if( exists(file) && contents != new String(readAllBytes(file)) )
- write(
- (projectDirectory ++ "/BuildInfo.scala").toPath,
- contents.getBytes
- )
- super.compile
- }
+ )
}
diff --git a/examples/build-info-example/src/BuildInfo.scala b/examples/build-info-example/src_generated/BuildInfo.scala
index ac0e680..ac0e680 100644
--- a/examples/build-info-example/src/BuildInfo.scala
+++ b/examples/build-info-example/src_generated/BuildInfo.scala
diff --git a/stage1/Stage1Lib.scala b/stage1/Stage1Lib.scala
index f5bcb63..d99354c 100644
--- a/stage1/Stage1Lib.scala
+++ b/stage1/Stage1Lib.scala
@@ -55,6 +55,8 @@ class Stage1Lib( logger: Logger ) extends BaseLib{
def green(string: String) = scala.Console.GREEN++string++scala.Console.RESET
def write(file: File, content: String, options: OpenOption*): File = Stage0Lib.write(file, content, options:_*)
+ def writeIfChanged(file: File, content: String, options: OpenOption*): File =
+ if( !file.exists || content != file.readAsString ) write(file, content, options:_*) else file
def addHttpCredentials( connection: HttpURLConnection, credentials: String ): Unit = {
val encoding = new sun.misc.BASE64Encoder().encode(credentials.getBytes)