0

我想写一个 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>

但这些都没有奏效。当绑定到测试阶段时,它定义有效。

4

1 回答 1

1

我知道发布阶段不是典型生命周期的一部分,但我怀疑它们可以像其他阶段一样被“挂钩”。

它们不是“阶段”。它们是“目标”,它们像阶段的唯一方式是您可以将它们的名称传递给 maven 执行。您不能像将目标绑定到阶段那样将目标绑定到其他目标。通常,您解决此问题的方法是定义一个您手动或自动激活的配置文件,该配置文件会修改默认的生命周期绑定。如果你想全力以赴,你也可以定义自己的生命周期,但这似乎有点过头了。但是,在发布插件的特定情况下,您还可以选择使用preparationGoalsgoals属性来分别自定义在release:prepare和期间发生的事情release:perform

于 2013-03-03T12:42:54.513 回答