Mih*_*ila 3 maven-2 maven-3 maven-scm maven maven-release-plugin
我们在内部使用Maven和Subversion.我们还使用Maven的Release插件.我们在执行以下(正确的,我假定的)步骤时注意到了下面描述的问题.
1.我们经营release:prepare:
1.0.0.svn copy trunk/myproject tags/myproject-1.0.0,从而创建标签myproject-1.0.0.1.0.1-SNAPSHOT.2.我们经营release:rollback:
1.0.0-SNAPSHOT.3,我们承诺更多的变化干路,显然针对的版本1.0.0-SNAPSHOT.
4.我们跑release:prepare一次:
1.0.0.svn copy trunk/myproject tags/myproject-1.0.0,认为它创建myproject-1.0.0了最新主干的标签.但是,唉,Subversion(1.6和1.7一样)将代替tags/myproject-1.0.0/myprojectMaven 创建.5.我们经营release:perform:
myproject-1.0.0.问题很明显:步骤3中的更改未使其成为标记.我们现在正在发布1.0.0而没有改变它.
问题是:我们如何解决这个问题?Maven的发布回滚功能本身是否已损坏?
公平地说,rollback应该将项目和SCM重置为允许一秒钟prepare发生的状态.这包括删除标签.答案现在很明显(谷歌搜索"maven release rollback remove tag"):
http://maven.apache.org/maven-release/maven-release-plugin/examples/rollback-release.html:
将删除SCM中用于发布的已创建分支/标记.注意:这尚未实现,因此您需要手动从SCM中删除分支/标记.有关更多信息,请参阅MRELEASE-229.
然后,解决方案将强制release:rollback包括使用类似的东西删除SCM标记的命令org.codehaus.mojo:exec-maven-plugin.除此之外,将rollback内部包装在外部执行该操作的脚本中.
| 归档时间: |
|
| 查看次数: |
4204 次 |
| 最近记录: |