如何使用 Mercurial 和 maven(和 svn)嵌入修订信息
当我们使用 svn 时,我们的项目有一个很好的 hack(尽管我猜测有更好的方法可以做到)将修订信息嵌入到工件(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>
Our project had a nice hack (although I'm guessing there are better ways to do it) to embed revision information into the artifacts (jar etc.) when we used svn.
Now we have migrated to mercurial, and we want to have a similar thing, but before I start working on a similar hack with mercurial, I wanted to know if there are better ways to do this.
Thanks for your answers!
<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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Maven 内部版本号插件 自 1.0-beta-4 起就支持 Mercurial(请参阅MOJO-1432)。
buildnumber:hgchangeset
目标设置两个项目属性,其中包含变更集 ID 和变更集日期,您可以将其与过滤一起使用以获得等效结果。The Maven Build Number Plugin has support for Mercurial since 1.0-beta-4 (see MOJO-1432). The
buildnumber:hgchangeset
goal sets two project properties with the changeset id and changeset date that you could use with filtering to obtain an equivalent result.听起来 Pascal 有官方的 Maven 方法来做到这一点,但如果你最终模拟了你的 svn hack,mercurial 中最好的相应命令是:
或者如果你正在使用标签并想要变得更奇特:
请参阅
hg所有选项的帮助模板
。Sounds like Pascal has the official maven way to do it, but if you do end up emulating your svn hack, the best corresponding command in mercurial would be:
or if you're using tags and want to get fancy:
see
hg help templates
for all the options.