0

私の職場の構成管理チームは、アーティファクトの 4 桁のバージョン番号 (たとえば、リリースされたアーティファクトの場合は 1.2.3.4)、開発ポンピングの場合は 1.2.3.5-SNAPSHOT を義務付けています。

これに加えて、バージョン管理システム (clearcase) には、ラベル/タグに特定の命名規則を適用するプレラベル トリガーがあります。

したがって、pom のバージョンが 1.2.3.4-SNAPSHOT で、artifactId がたとえば shopcart の場合、タグの命名要件に従って、タグ名は次のようになります。

XXX_1.2.3_SHOPCART_DROP4_SRC

ここで、XXX はプロジェクト コード - 定数文字列値です。

ご覧のとおり、この形式を実現するには、タグ名の形式を次のようにカスタマイズする必要があります。

  • artifactId - 大文字に変換
  • 抽出する 4 桁のバージョン番号の最初の 3 桁
  • 抽出する4桁のバージョン番号の下一桁
  • フォーマットに従ってすべてを連結します。

gmaven プラグインを使用してこれを実行し、maven リリース プラグイン (v2.3.2) のタグまたは tagNameFormat 構成プロパティで使用するカスタム プロパティを設定すると思いましたが、まったく機能しません。

Maven リリース プラグインは 3 つのプロパティ (artifactId、version、groupId) のみをサポートし、他のプロパティはサポートしていません。

gmaven プラグインは期待どおりに動作し、必要なタグ名形式で最終的なユーザー プロパティを設定します。ant run maven プラグインを使用してプロパティをエコーすることを確認しました。

問題はMavenリリースプラグインにあります-ユーザープロパティを認識しません...

どうすればこれを達成できますか?

編集:

インタラクティブな実行は可能ではありません-これを構成して、ジェンキンで約15のプロジェクトを実行する必要があります...

どうもありがとう、タパスヴィ

4

1 に答える 1

0

そのような目的で使用できるパラメーターがあるため、maven-release-plugin のドキュメントを注意深く読む必要があります。作成されるタグのフォーマットを変更するために使用できるtagNameFormat (申し訳ありません。既にお読みください)。バージョンは、buildhelper-maven-pluginを介してプロパティに抽出できます。さらに、buildhelper-maven-plugin を使用してアーティファクト ID を大文字にすることができます。

正規表現の置換を値に適用してプロパティを設定する

regex-property ゴールは、正規表現置換が適用された後にプロパティを値に設定するために使用できます。たとえば、次のプラグイン構成を実行して clearcase.artifact プロパティを設定します。

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.7</version>
        <executions>
          <execution>
            <id>regex-property</id>
            <goals>
              <goal>regex-property</goal>
            </goals>
            <configuration>
              <name>clearcase.artifactid</name>
              <value>$\{project.artifactId}</value>
              <regex>(.*)</regex>
              <replacement>???</replacement>
              <failIfNoMatch>false</failIfNoMatch>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  ...
</project>

ただし、プロパティの設定には注意が必要です。Maven プロセスをリリース: フォークしてください。-Darguments オプションを使用して、適切なパラメーターを設定する必要がある場合があります。

于 2013-03-18T12:03:48.467 に答える