diff options
author | Christopher Vogt <oss.nsp@cvogt.org> | 2017-03-29 10:08:59 -0400 |
---|---|---|
committer | Christopher Vogt <oss.nsp@cvogt.org> | 2017-04-02 02:43:39 -0400 |
commit | 2d73091740528b423259c6190b3ae344a419978a (patch) | |
tree | 30cfc912f6267c263a28fa1860d984b00c6b2a97 /stage2/plugins | |
parent | e614bf22c6a4b09962e44bb20d880c1b4107df6d (diff) | |
download | cbt-2d73091740528b423259c6190b3ae344a419978a.tar.gz cbt-2d73091740528b423259c6190b3ae344a419978a.tar.bz2 cbt-2d73091740528b423259c6190b3ae344a419978a.zip |
factor out buildinfo into plugin
Diffstat (limited to 'stage2/plugins')
-rw-r--r-- | stage2/plugins/GenerateBuildInfo.scala | 29 |
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 +} +""" + ) + } + } + } +} |