如何使用mercurial和maven(和svn)嵌入修订信息

Enn*_*oji 5 java svn mercurial maven-2 release-management

当我们使用svn时,我们的项目有一个很好的黑客(虽然我猜有更好的方法)将修订信息嵌入到工件(jar等)中.

现在我们已经迁移到mercurial,我们希望有一个类似的东西,但在我开始使用mercurial进行类似的hack之前,我想知道是否有更好的方法来做到这一点.

谢谢你的回答!

<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <executions>
            <execution>
                    <phase>process-classes</phase>
                    <id>svninfo</id>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                <configuration>
                    <executable>svn</executable>
                    <arguments>
                    <argument>info</argument>
                    <argument>../</argument>
                    <argument>></argument>
                    <argument>target/some-project/META-INF/svninfo.txt</argument>
                    </arguments>
                </configuration>
            </execution>
        </executions>
    </plugin>
Run Code Online (Sandbox Code Playgroud)

Pas*_*ent 4

Maven Build Number 插件自1.0-beta-4 起就支持 Mercurial(请参阅MOJO-1432)。该buildnumber:hgchangeset目标设置了两个项目属性,其中包含变更集 ID 和变更集日期,您可以将其与过滤一起使用以获得等效结果。