[英]Mercurial Maven Release plugin problems
我喜歡使用Maven並分發像Mercurial(BitBucket)這樣的SCM。
然而,隨着我的項目規模擴大和我的Hg存儲庫的增長,我發現Maven Release插件越來越繁瑣。
主要問題是,當調用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發布時想出了解決可怕的完整克隆的新方法。
這就是我要做的事情,以避免愚蠢的多推與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>
然后先執行准備目標
mvn release:prepare -DautoVersionSubmodules=true -DreleaseVersion=x.x.x -DdevelopmentVersion=y.y.y-SNAPSHOT -DpushChanges=false
請注意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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.