15

SVN リポジトリでは、次のようなタグを保存します。

trunk
    project_a
    project_b
branches
    project_a
        branch_x
        branch_y
    project_b
tags
    project_a
        1.0
        1.1
    project_b
        1.0

プロジェクト A でMaven リリース プラグインの「prepare」ゴールを実行すると、デフォルトでタグが「tags/project_a-xx」として作成されますが、これは上記のタグ命名スキームと一致しません。したがって、これを見つけてタグを「tags/project_a/xx」に変更するために、リリースを行う人 (つまり、誤りやすい人間) に依存しています。デフォルトで正しい形式を使用するようにリリース プラグインに指示するにはどうすればよいですか?

「準備」目標には、これを行うと主張する「タグ」構成オプションがありますが、次のように設定すると:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.1</version>
    <configuration>
        <tag>${project.artifactId}/${project.version}</tag>
    </configuration>
</plugin>

... 作成されたタグは「tags/project_a/xx-SNAPSHOT」です。つまり、リリース バージョン番号の代わりにプレリリース バージョン番号を使用します。タグ名をPOMにハードコーディングするのも間違っているようです。

タグがデフォルトで正しいことを確認するにはどうすればよいですか?

4

3 に答える 3

17

リリースプラグインは、デフォルトでtagNameFormat 設定オプションをサポートするようになりました@{project.artifactId}-@{project.version}。あなたの場合、あなたは次のようなことをすることができます:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <tagNameFormat>@{project.artifactId}/@{project.version}</tagNameFormat>
    </configuration>
</plugin>
于 2012-12-14T21:28:33.457 に答える
3

これらのバグのいずれかが修正されるまで、これは不可能のようです。

  • MRELEASE-150 : バージョンに影響を与えずにタグにプレフィックスを追加できない(スケジュールされていない)
  • MRELEASE-159 : リリースタグを生成するパターンをサポート(2.2 に予定)
  • MRELEASE-259 : リリース時に使用するデフォルトのタグ/ラベルの構成設定を提供する(スケジュールされていない)
于 2010-12-17T00:42:43.523 に答える
1

releaseVersion を渡す場合は、次のようにすることができます。

<tag>${project.artifactId}/${releaseVersion}</tag>
于 2011-03-01T14:01:57.033 に答える