【发布时间】:2013-03-03 11:08:02
【问题描述】:
我想写一个 redmine 插件来更新一些项目发布时的版本。为了避免手动步骤,我想绑定到一些发布插件执行目标。通常,我需要在选择版本号时创建一个新版本,在选择新版本之前关闭以前的版本,等等......
现在,我知道发布阶段不是典型生命周期的一部分,但我怀疑它们可以像其他阶段一样“挂钩”(例如集成前测试或集成后测试) .
这是我尝试过的:
<execution>
<id>prepare-release-test</id>
<phase>maven-release-plugin:prepare</phase>
<goals>
<goal>list-issues</goal>
<goal>list-versions</goal>
<goal>list-users</goal>
<goal>list-projects</goal>
</goals>
<execution>
<id>prepare-test</id>
<phase>maven-release-plugin:2.0:prepare</phase>
<goals>
<goal>list-issues</goal>
<goal>list-versions</goal>
<goal>list-users</goal>
<goal>list-projects</goal>
</goals>
但这些都不起作用。当绑定到测试阶段时,它就可以正常工作了。
【问题讨论】:
-
prepare是一个独立的聚合器目标(整个项目只执行一次),您不能将它“挂钩”到生命周期的任何阶段。您可能还需要考虑将您的插件目标声明为@aggregator。 -
将其声明为聚合器有什么意义?我找到了发布插件的配置,允许在完成和准备时运行目标。也许这些就足够了。
标签: maven release maven-release-plugin