2016-07-06 53 views
0

我想将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

你可能会遇到这个问题:sbt/issues/1664

如果你可以使用生成的scala,sbt-buildinfo值得一看。你可以像这样添加git修订:

import sbtbuildinfo.{ BuildInfoKey, BuildInfoPlugin } 
import sbtbuildinfo.BuildInfoKeys._ 

myProject 
    .enablePlugins(BuildInfoPlugin) 
    .settings(
    buildInfoKeys ++= Seq[BuildInfoKey](
     BuildInfoKey.action("revision") { 
     Process("git rev-parse --short HEAD").!!.trim 
     }) 
    }