Scala播放消息文件以内联或重用build.sbt中的版本

时间:2014-06-25 07:47:34

标签: scala playframework sbt playframework-2.3

我有一个Scala Play项目,目前我在主模板的某个位置显示当前的应用程序版本。我可以在conf/messages文件中轻松定义版本。但是,由于我有一个用于创建版本的自动构建,因此发布迭代将更新build.sbt根据此处的版本增加版本,例如version := "1.0.6-SNAPSHOT"

我可以在发布期间使用相同的机制来更新我的conf/messages文件,但我希望我的conf/messages文件包含来自build.sbt的版本信息,例如alla application.version=${sbt.application.version}

我怎样才能做到这一点?它有可能吗?

更新:值得一提的是,在Maven中,这些构建设置成为Java系统属性,可以轻松使用。

2 个答案:

答案 0 :(得分:2)

您可以使用sbt-buildinfo插件根据build.sbt生成Scala源代码。

该插件生成一个BuildInfo对象,其中包含您可以用来显示应用程序版本的信息。

否则我认为您无法从配置中访问sbt信息。

答案 1 :(得分:2)

您可以使用xsbt-filter插件来实现此目的。它基本上像Maven的资源过滤机制一样工作,默认情况下公开项目的名称,版本等。您可以进一步配置它以显示其他属性。