alw*_*inc 5 mercurial maven-2 bitbucket maven-release-plugin
我喜欢使用Maven并分发像Mercurial(BitBucket)这样的SCM.
然而,随着我的项目规模扩大和我的Hg存储库的增长,我发现Maven Release插件越来越繁琐.
主要问题是当a mvn release:prepare被调用时,Maven不利用Hg的分布式特性,并执行整个存储库的完全克隆以放入临时目录.
Fabrizio Giudici早在2009 年就已经记录了这个问题http://weblogs.java.net/blog/fabriziogiudici/archive/2009/10/29/fixing-two-problems-maven-mercurial-hudson
我原以为Sonatype可能已经更新了插件,但是我们仍然需要在发布之前下载整个repo.
我希望能够联系StackOverflow社区,看看是否有其他人遇到过这个问题,是否有人在maven发布时想出了解决可怕的完整克隆的新方法.
Far*_*rid 12
这就是我要做的事情,以避免愚蠢的多推与maven一起使用:
首先确保使用正确版本的插件处理mermial类型的scm:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<tagNameFormat>@{project.version}</tagNameFormat>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
然后先执行准备目标
mvn release:prepare -DautoVersionSubmodules=true -DreleaseVersion=x.x.x -DdevelopmentVersion=y.y.y-SNAPSHOT -DpushChanges=false
Run Code Online (Sandbox Code Playgroud)
注意pushChanges=false属性
if all ok then
hg push
mvn release:perform
else
mvn release:clean
and have fun removing the changeset from local hg repo
endif
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3432 次 |
| 最近记录: |