のmavenでは、次の構文でポンポンでプロパティを設定することは非常に簡単です:Mavenでは、実行時にどのようにプロパティ値を動的に構築できますか?
...
<properties>
<myValue>4.06.17.6</myValue>
</properties>
...
今、私は私のポンポンのバージョンに依存プロパティを構築する必要があります。私は、次の(Javaの擬似コードを)やりたいプロパティを作成するために:それは私たちのリポジトリにタグ名として使用されているため
String[] parts = version.split("\\.");
String.format("V%s_%s_%s_P%s", splitted[0], splitted[1],splitted[2],splitted[3]);
// example: 4.06.17.6 => V_4_06_17_P6
それは、ダイナミックでなければならず、常にのバージョンと同期している必要がありますアーティファクト。
"ダイナミック"プロパティを作成する方法はありますか?
また、プラグインをフェーズにバインドしない場合は、私はmaven releaseプラグインを使用しており、目標リリース:prepareを呼び出しています。ここでそれを利用できるようにするには? – EhmKah
フェーズを指定しない場合、デフォルトでは 'validate'フェーズにバインドされているため、上記のコードスニペットは、検証フェーズがアクティブなときに目標を実行します。目標を直接呼び出すと'release:prepare'では、ライフサイクルフェーズをスキップして目標を実行するので、' release:prepare'ゴール自体はプロパティを見ることができません。* 'release:prepare'によってライフサイクル*がフォークされますそれ。だから 'release:prepare'はSCMにタグ付けするためのプロパティを使うことができませんが、リリースプラグインが動く分岐したビルドにプロパティが存在します –
SCMタグをプロパティに基づいてこれがあなたの目標であることを反映するための質問、または2番目の質問を開始する)、次にhttp://maven.apache.org/plugins/maven-release-plugin/prepare-mojo.html#tagNameFormatのようなものを使用する必要がありますそれはあなたに '_'代入や' _P'注入を与えません。 Mavenを曲げようとするのではなく、タグ名の必要条件を変更することをお勧めします;-) –