aboutsummaryrefslogtreecommitdiff
path: root/stage2
diff options
context:
space:
mode:
authorChristopher Vogt <oss.nsp@cvogt.org>2017-03-29 10:08:59 -0400
committerChristopher Vogt <oss.nsp@cvogt.org>2017-04-02 02:43:39 -0400
commit2d73091740528b423259c6190b3ae344a419978a (patch)
tree30cfc912f6267c263a28fa1860d984b00c6b2a97 /stage2
parente614bf22c6a4b09962e44bb20d880c1b4107df6d (diff)
downloadcbt-2d73091740528b423259c6190b3ae344a419978a.tar.gz
cbt-2d73091740528b423259c6190b3ae344a419978a.tar.bz2
cbt-2d73091740528b423259c6190b3ae344a419978a.zip
factor out buildinfo into plugin
Diffstat (limited to 'stage2')
-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
+}
+"""
+ )
+ }
+ }
+ }
+}