存储应用程序版本的最佳方法是什么?
我使用Git tagging在Git存储库中存储semantic version number。但我还想打印出程序用户的版本号(当用户调用./myprogram --version
时f.ex。)。因此,我还必须在每个新版本的Java源代码中手动更改String常量。
是否有更智能的方法将版本号保存在Git存储库中并且源代码保持同步?
答案 0 :(得分:2)
您可以使用
从git获取当前标记git describe [--abbrev=0] > localFileForTag
如果将该行放入脚本并在构建过程中运行该脚本,则可以将当前标记存储在本地文件中。您的程序只需要阅读和打印文件内容。
答案 1 :(得分:1)
在我们的项目中,我们使用git-commit-id-plugin作为maven。您可以生成程序可以在运行时读取的内容,例如包含静态字段的Java类或读取的属性文件。
如果你不使用maven,你的构建工具肯定会有一个插件,或者至少可以以某种方式调用git describe
(正如其他人所建议的那样)。