aboutsummaryrefslogtreecommitdiff
path: root/stage2/plugins/GenerateBuildInfo.scala
diff options
context:
space:
mode:
authorJan Christopher Vogt <oss.nsp@cvogt.org>2017-04-02 03:21:42 -0400
committerGitHub <noreply@github.com>2017-04-02 03:21:42 -0400
commit2476e2ec1100813ae4e05cf2183feff8bf5ec8ea (patch)
treea334625acfe91c0233abf57a5fb7b52f040e0846 /stage2/plugins/GenerateBuildInfo.scala
parente7112d59b811ca4a0bda448a18e0c45cb4841abb (diff)
parentc220ef8d12e77ce6af6fafde3b388fc3e334b380 (diff)
downloadcbt-2476e2ec1100813ae4e05cf2183feff8bf5ec8ea.tar.gz
cbt-2476e2ec1100813ae4e05cf2183feff8bf5ec8ea.tar.bz2
cbt-2476e2ec1100813ae4e05cf2183feff8bf5ec8ea.zip
Merge pull request #471 from cvogt/2.12-ready
2.12 ready
Diffstat (limited to 'stage2/plugins/GenerateBuildInfo.scala')
-rw-r--r--stage2/plugins/GenerateBuildInfo.scala29
1 files changed, 29 insertions, 0 deletions
diff --git a/stage2/plugins/GenerateBuildInfo.scala b/stage2/plugins/GenerateBuildInfo.scala
new file mode 100644
index 0000000..f9c2aff
--- /dev/null
+++ b/stage2/plugins/GenerateBuildInfo.scala
@@ -0,0 +1,29 @@
+package cbt
+import java.io.File
+trait GenerateBuildInfo extends BaseBuild{
+ override def compile = { buildInfo.apply; super.compile }
+ def buildInfo = GenerateBuildInfo.apply( lib ).config(
+ s"""
+ def scalaVersion = "$scalaVersion"
+""",
+ None,
+ "BuildInfo",
+ projectDirectory / "src_generated"
+ )
+}
+object GenerateBuildInfo{
+ case class apply( lib: Lib ){
+ case class config( body: String, `package`: Option[String], className: String, file: File ){
+ def apply = {
+ lib.writeIfChanged(
+ file / className ++ ".scala",
+ s"""// generated file${`package`.map("\npackage "++_++"").getOrElse("")}
+object $className{
+ $body
+}
+"""
+ )
+ }
+ }
+ }
+}