指纹Scala应用程序的最佳方法

时间:2011-09-12 09:29:57

标签: scala version sbt

我正在Scala中开发一个我们在多个测试环境中部署的Web应用程序。为了控制安装了哪个软件快照,我想在生成的.war中包含版本指纹,以便我可以使用REST接口进行查询。    我将走设置SBT任务的路径,该任务从项目定义中检索mercurial存储库版本,当前项目版本,并编写一个静态字符串,该字符串将从前面提到的服务中读取,但这是正确的方法吗?

获得此功能的常见模式是什么?

问候。

1 个答案:

答案 0 :(得分:1)

我们的想法是生成一个包含正确信息的文件,然后让SBT任务负责在生成的战争中包含该文件信息。

对于该文件,您可以在“How to display current working copy version of an hg repository on a PHP page”中看到正确的mercurial命令,作为更新后的挂钩:

[hooks]
post-update = hg id -r > VERSION ; hg id -i >> VERSION

这意味着你不会有来自SBT的任何mercurial命令:mercurial repo的更新将足以触发该文件的生成。

该链接答案的评论还提到了可能的hg命令:

hg log -r . --template "v{latesttag}-{latesttagdistance}-{node|short}\n