diff options
-rw-r--r-- | examples/build-info-example/build/build.scala | 15 | ||||
-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.scala | 2 |
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) |