diff options
Diffstat (limited to 'examples/build-info-example')
-rw-r--r-- | examples/build-info-example/BuildInfo.scala | 8 | ||||
-rw-r--r-- | examples/build-info-example/Main.scala | 9 | ||||
-rw-r--r-- | examples/build-info-example/Readme.md | 3 | ||||
-rw-r--r-- | examples/build-info-example/build/build.scala | 27 |
4 files changed, 47 insertions, 0 deletions
diff --git a/examples/build-info-example/BuildInfo.scala b/examples/build-info-example/BuildInfo.scala new file mode 100644 index 0000000..ac0e680 --- /dev/null +++ b/examples/build-info-example/BuildInfo.scala @@ -0,0 +1,8 @@ +// generated file +import java.io._ +object BuildInfo{ +def artifactId = "build-info-example" +def groupId = "cbt.examples" +def version = "0.1" +def scalaVersion = "2.11.8" +} diff --git a/examples/build-info-example/Main.scala b/examples/build-info-example/Main.scala new file mode 100644 index 0000000..cb4ad75 --- /dev/null +++ b/examples/build-info-example/Main.scala @@ -0,0 +1,9 @@ +object Main{ + def main(args: Array[String]): Unit = { + import BuildInfo._ + println("scalaVersion: "+scalaVersion) + println("groupId: "+groupId) + println("artifactId: "+artifactId) + println("version: "+version) + } +}
\ No newline at end of file diff --git a/examples/build-info-example/Readme.md b/examples/build-info-example/Readme.md new file mode 100644 index 0000000..acbb84e --- /dev/null +++ b/examples/build-info-example/Readme.md @@ -0,0 +1,3 @@ +This is an example how to propagate build-time information +such as version or scalaVersion to runtime. +The advantage of the approach taken here is simplicity. diff --git a/examples/build-info-example/build/build.scala b/examples/build-info-example/build/build.scala new file mode 100644 index 0000000..f6fc7a4 --- /dev/null +++ b/examples/build-info-example/build/build.scala @@ -0,0 +1,27 @@ +import cbt._ +import java.nio.file.Files._ + +class Build(val context: Context) extends PackageJars{ + def name = "build-info-example" + def groupId = "cbt.examples" + def defaultVersion = "0.1" + override def defaultScalaVersion = "2.11.8" + override def compile = { + val file = (projectDirectory ++ "/BuildInfo.scala").toPath + val contents = s"""// generated file +import java.io._ +object BuildInfo{ +def artifactId = "$artifactId" +def groupId = "$groupId" +def version = "$version" +def scalaVersion = "$scalaVersion" +} +""" + if( exists(file) && contents != new String(readAllBytes(file)) ) + write( + (projectDirectory ++ "/BuildInfo.scala").toPath, + contents.getBytes + ) + super.compile + } +} |