我有一个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系统属性,可以轻松使用。
答案 0 :(得分:2)
您可以使用sbt-buildinfo
插件根据build.sbt
生成Scala源代码。
该插件生成一个BuildInfo
对象,其中包含您可以用来显示应用程序版本的信息。
否则我认为您无法从配置中访问sbt信息。
答案 1 :(得分:2)
您可以使用xsbt-filter插件来实现此目的。它基本上像Maven的资源过滤机制一样工作,默认情况下公开项目的名称,版本等。您可以进一步配置它以显示其他属性。