0

ここに私のプロジェクト構造があります、

Parent
^ ^ ^
| | |

A B C

プロジェクト A、B、C は親に依存します。親には、A、B、および C のバージョンを決定する依存関係管理セクションがあります。

リリース プロセスでは、A、B、C のまだリリースされていないバージョンを持つ親を最初にリリースします。次に、A、B、C の親を最新バージョンの親に変更します。

A -> C, B->A and C->A

上記の依存関係のため、A、B、および C のリリースの順序を判断できません。A を最初にリリースすると、C のリリース バージョンが利用できないと不平を言うでしょう (親がリリース中に C のバージョンを宣言したため) 、事前に)。A に依存するため、C を最初にリリースすることはできません。

私は、Git の個々のリポジトリとして Parent 、 A、B 、および C を持っています。方法はありますか、これを解決できます。

4

1 に答える 1

1

これを解決する唯一の方法は、A、B、および C 間の循環依存関係を削除することです。Maven は、循環依存関係が存在しないことを強制します。その円を取り除くには、プロジェクト A、B、C の 1 つのペアの共通部分を新しいモジュール D に分解する必要があります。したがって、A と B の間のサイクルを開くことを選択した場合、それらは D にのみ依存します。 .

この方法では、同じジョブですべてをリリースできるため、リリース プロセスも非常に簡単になります。

于 2013-01-07T07:22:04.327 に答える