私はすでにこの種の問題に直面していましたが、あなたの問題を解決するための明確な答えは提供しません. 確かに、あなたは「maven way」ではないことをしようとしています...
私が理解していることについては、タグ付けしようとしています:
- アーティファクトを 1 つだけ、groupId/artifactID/version に入れる
- またはすべてのレポ (たとえば、トランクの下のすべて)。
1 つの成果物のタグ付け
artifact3 のみにタグを付ける場合は、その通りです。初めてタグ付けしようとすると、1 つのコマンドで完全な構造を作成できないため、タグ付けを行うことができません (svn タグは実際にはコピーであり、copy コマンドは、「 Linux では mkdir -p" です。
ただし、Maven の規則 (デフォルトの動作) は tags/artifactId-version ですが、(IDE 経由または svn コマンドラインで) リリースを実行する前に、独自の構造と独自のテンプレートを作成できます。次に、tagNameFormat を必要に応じて (そして、そうするように) 変更します。
<project>
[...]
<build>
[...]
<plugins>
[...]
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<tagNameFormat>${groupId}/${artifactId}/@{project.version}</tagNameFormat>
</configuration>
</plugin>
[...]
</plugins>
[...]
</build>
[...]
</project>
khmarbaise が言ったように、tagBase と tagFormat を組み合わせて tagBase を変更することもできます (デフォルトの動作をオーバーライドするため)。私はそれを試したことはありませんでしたが、うまくいくはずです。version は $ ではなく @ を使用することに注意してください (コミット中またはその前に置き換えてはいけませんが、後で taggin 操作中に使用する必要があります)。
明らかに、この方法でタグ付けしたい成果物ごとに適切な構造を作成する必要があります。ただし、一度だけ実行する必要があります。
すべてのアーティファクトのタグ付け
一度にすべてのアーティファクトにタグを付けたい場合、これははるかに困難になります。これがあなたが望むものかどうかわからないので、手がかりをいくつか挙げて簡単に説明します。
- コンポーネントが一緒にリンクされている場合は、すべてのモジュールがネストされた状態で、マルチモジュール プロジェクトをビルドする (そしてその上で mvn release を実行する) ことを想定してください (これが正しい方法です)。
- そうでない場合は、一緒にタグ付けする必要はありません;D
私があなたの意図を誤解している場合は、遠慮なく返信して、さらに情報を提供してください。
幸運を :)