diff options
author | Jan Christopher Vogt <oss.nsp@cvogt.org> | 2017-03-12 15:36:14 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-12 15:36:14 -0400 |
commit | 8fd9b9e01d763734953f722e1ba33c5025d53e63 (patch) | |
tree | 1f9d4c0d56308c436c50579131c5576386d7f249 | |
parent | edb87b008ebed7a4b9d34bb04a4436b5d106a9e3 (diff) | |
parent | 485c9fe90ef2b09043ff1303135e8f2b77970845 (diff) | |
download | cbt-8fd9b9e01d763734953f722e1ba33c5025d53e63.tar.gz cbt-8fd9b9e01d763734953f722e1ba33c5025d53e63.tar.bz2 cbt-8fd9b9e01d763734953f722e1ba33c5025d53e63.zip |
Merge pull request #425 from cvogt/writeIfChanged
writeIfChanged helper method
-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) |