开发者

Best way for fingerprinting a Scala application

开发者 https://www.devze.com 2023-04-04 10:06 出处:网络
I\'m developing a Web application in Scala that we deploy in several testing environments. In order to control which software snapshot is ins开发者_Python百科talled, I\'d like to include a version fin

I'm developing a Web application in Scala that we deploy in several testing environments. In order to control which software snapshot is ins开发者_Python百科talled, I'd like to include a version fingerprint in the generated .war so I can query it using a REST interface. I would go in the path of setting a SBT task that retrieves the mercurial repository version, the current project version from the project definition and compose a static string that will be read from that before mentioned service, but is this the right approach?

What are common patterns for getting this functionality?

Regards.


The idea is to generate a file with the right information, and then have an SBT task taking care of including that file information in the generated war.

For the file, you can see the right mercurial command in "How to display current working copy version of an hg repository on a PHP page", as a post-update hook:

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

That means you won't have ot can any mercurial command from SBT: the update of the mercurial repo will be enough to trigger the generation of that file.

The comments of that linked answer also mention the possible hg command:

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

精彩评论

暂无评论...
验证码 换一张
取 消