diff options
Diffstat (limited to 'stage2/plugins/GenerateBuildInfo.scala')
-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 +} +""" + ) + } + } + } +} |