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 に渡すことができることです。目標をフェーズにバインドする方法で、目標を他の目標にバインドすることはできません。一般に、これを解決する方法は、手動または自動でアクティブ化するプロファイルを定義して、デフォルトのライフサイクル バインディングを変更することです。全力を尽くしたい場合は、独自のライフサイクルを定義することもできますが、それはやり過ぎのようです。ただし、リリース プラグインの特定のケースでは、preparationGoalsおよびプロパティを使用して、 および の実行中にgoals何が起こるかをそれぞれカスタマイズするオプションもあります。release:preparerelease:perform

于 2013-03-03T12:42:54.513 に答える