我目前正在使用三个命令的集合来获取最近提交的当前标记,分支和date以及SHA1。 git describe –always –tag git log -1 –format="%H%n%aD" git rev-parse –abbrev-ref HEAD 这将输出如下所示: 1.2.3-5-gdeadbeef deadbeef3b8d90071c24f51ac8f26ce97a72727b Wed, 19 May 2010 09:12:34 +0200 master 说实话,我对此完全没问题。 但是我使用Maven的这些命令以及以前使用过Maven的任何人,都知道外部命令有多less东西使POM膨胀。 我只是想缩小我的pom.xml,可能会缩短执行时间。
我们有一个工作stream程需求,这基本上意味着我们需要在git中从当前分支外部定义一个模块的工件版本。 也就是说,如果我们在git的master分支,我需要<version>master-…</version> ,如果我们在bugfixX分支,我需要<version>bugfixX-….</version>为这个pom.xml生成的工件。 我以前发现https://github.com/koraktor/mavanagaiata可以提供SHA-1哈希作为一个属性,它从文档中可以看出,它也可以提供分支,所以也许如果它可以足够早的运行我们可以设置该属性的过程,只需把<version>${our.version}</version>放在pom中即可。 如果可能的话,我非常希望看到一个有效的pom.xml文件(并奖励500点奖励)。 如果没有,我想我们是进入预处理或“混帐检查”做一些额外的魔术钩(我还没有尝试过,工作代码将会很好)。 我们有一个顶级的pom,可以在构build这个function的模块之前生成一个“..”的属性文件。 有关如何解决这个问题的任何build议?