aboutsummaryrefslogtreecommitdiff
path: root/stage2/plugins/GenerateBuildInfo.scala
diff options
context:
space:
mode:
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
+}
+"""
+ )
+ }
+ }
+ }
+}