我想将Git修订信息添加到使用SBT构建的Java应用程序中。目前,我正在使用此处所述的代码生成功能http://www.scala-sbt.org/0.13/docs/Howto-Generating-Files.html生成一个包含revision
字段的类。 servlet类读取此字段并使用修订信息呈现HTML页面。除了生成的文件是瞬态的并且IDE(在本例中为Intellij IDEA)报告servlet类中的错误之外,一切正常。显然,我可以生成整个servlet类,但是在构建定义中看起来有点太多了。有没有办法制作这个文件" permament"或者我完全错了吗?
答案 0 :(得分:1)
你能否解决这个问题:sbt/issues/1664?
如果您可以使用生成的scala,sbt-buildinfo值得一看。您可以像这样添加git修订版:
import sbtbuildinfo.{ BuildInfoKey, BuildInfoPlugin }
import sbtbuildinfo.BuildInfoKeys._
myProject
.enablePlugins(BuildInfoPlugin)
.settings(
buildInfoKeys ++= Seq[BuildInfoKey](
BuildInfoKey.action("revision") {
Try(
Process("git rev-parse --short HEAD").!!.trim
).getOrElse("unknown")
})
}