添加修订信息

时间:2016-07-06 10:01:15

标签: java sbt

我想将Git修订信息添加到使用SBT构建的Java应用程序中。目前,我正在使用此处所述的代码生成功能http://www.scala-sbt.org/0.13/docs/Howto-Generating-Files.html生成一个包含revision字段的类。 servlet类读取此字段并使用修订信息呈现HTML页面。除了生成的文件是瞬态的并且IDE(在本例中为Intellij IDEA)报告servlet类中的错误之外,一切正常。显然,我可以生成整个servlet类,但是在构建定义中看起来有点太多了。有没有办法制作这个文件" permament"或者我完全错了吗?

1 个答案:

答案 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")
      })
    }