5

git および maven-modules を使用した maven-release-plugin に問題があります。

次のプロジェクト構造があります。

pom.xml(ApplicationTest and ApplicationConf are modules)

ApplicationWeb

---pom.xml(parent pom in root folder)

ApplicationTest

---pom.xml(parent pom in root folder)

ApplicationConf

---pom.xml(All environments are modules. This has no parent pom)

---ConfDev

-------pom.xml(parent ApplicationConf)

---ConfTst

-------pom.xml(parent ApplicationConf)

---ConfAcc

-------pom.xml(parent ApplicationConf)

---ConfPrd

-------pom.xml(parent ApplicationConf)

ここで、開発構成をリリースします (親は既にリリースされています)。これは、ApplicationConf/ConfDev/pom.xml で Maven リリースを実行することによって行われます。

変更されたものをプッシュしたいときに間違った git URL を使用するため、リリースの準備が失敗します。リリースしたい pom のアーティファクト ID を git URL に添付します。

http://gitrepourl/git_repo.git/artifact-id

ApplicationConf の pom で scm 設定を定義したので、すべての環境のルートになります。

<scm>
  <developerConnection>scm:git:http://gitrepourl/git_repo.git</developerConnection>
</scm>

プロジェクト構造や設定が間違っているのでしょうか、それとも maven-release-plugin のバグですか?

使用したバージョン:

maven-release-plugin 2.3.2 および 2.4.1

Maven 3.0.5

考えられる解決策:

config 親 pom からすべての構成プロジェクトをモジュールとして削除し、すべての pom にさらに scm 情報を追加して、次のようにします。

<scm>
<url>https://github.com/XXX/YYY</url>
<connection>scm:git:ssh://git@github.com/XXX/YYY.git</connection>
<developerConnection>scm:git:ssh://git@github.com/XXX/YYY.git</developerConnection>

これで、すべての pom でリリースを実行できるようになりました。これは正しい解決策ですか?

4

1 に答える 1