使用mecurial分支名称作为maven版本
我目前正在为我的maven项目建立一个mecurial存储库 这个maven项目由几个模块组成。当我创建包含所有已创建JAR的安装zip时,所有模块的版本都相同 到目前为止,我已经使用父pom中的一个属性实现了这一点,模块在构建时使用该属性。到目前为止,一切都很好,我只有一个立场改变时,我想改变的版本 现在我有了ingenius(=怪异)的想法,将mecurial分支名称用作maven版本 我知道我可以使用使用mecurial分支名称作为maven版本,maven,mercurial,versioning,maven-plugin,Maven,Mercurial,Versioning,Maven Plugin,我目前正在为我的maven项目建立一个mecurial存储库 这个maven项目由几个模块组成。当我创建包含所有已创建JAR的安装zip时,所有模块的版本都相同 到目前为止,我已经使用父pom中的一个属性实现了这一点,模块在构建时使用该属性。到目前为止,一切都很好,我只有一个立场改变时,我想改变的版本 现在我有了ingenius(=怪异)的想法,将mecurial分支名称用作maven版本 我知道我可以使用hg branch获取当前mercurial分支名称。使用,应该可以在任何系统(Windo
hg branch
获取当前mercurial分支名称。使用,应该可以在任何系统(Windows/linux)上读取它。使用它并将其写入属性文件,我应该能够使用
但是,我一直无法读取分支名称并将其写入文件:
<plugin>
<artifactId>exec-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>hg</executable>
<arguments>
<argument>branch</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
execmaven插件
org.codehaus.mojo
生成源
执行官
汞
分支
你们中是否有人知道如何解决这个问题,或者有一个不同的解决方案在构建时将mercurial分支名称引入maven pom
致以最良好的祝愿,
Xeno Lube我不是一个专业人士,但听起来你可以用它将输出写入文件。您可以让Mercurial使用以下模板输出有效的Java属性文件:
hg log --rev . --template 'version={branch}-{node|short}\n'
然后把它装进去。这类事情的一个常见模板是{latesttag}-{latesttagdistance}-{node | short}
也就是说,我当然希望maven能让您直接将命令输出发送到变量中,然后首先发送到磁盘上的文件——ant当然做到了