1. ホーム
  2. gradle

[解決済み] allprojectsとsubprojectsの違いは何ですか?

2022-04-28 12:58:43

質問事項

マルチプロジェクトのgradleビルドで、"allprojects"セクションと"subprojects"の違いは一体何なのか、誰か教えてください。 親ディレクトリだけですか? 両方使っている人はいますか? もしそうなら、一般的に何がそれぞれに置かれるかを決定する一般的なルールがあるのでしょうか?

関連する質問:2つの構文の違いは何ですか(本当にallprojectsとsubprojectsの場合)。

subprojects {  ...
}

そして

configure(subprojects) { ...
}

どのような場合にどちらを選ぶのでしょうか?

解決方法は?

マルチプロジェクトのgradleビルドでは、rootProjectとsubprojectsがあります。その両方の組み合わせがallprojectsです。 rootProjectはビルドが開始される場所です。よくあるパターンは、rootProjectにはコードがなく、サブプロジェクトはjavaプロジェクトである場合です。この場合、サブプロジェクトのみにjavaプラグインを適用します。

subprojects {
    apply plugin: 'java'
} 

これは、サブモジュールをビルドするだけの maven aggregate pom project と同等になります。

2つの構文についてですが、これらは全く同じことをします。最初のものがより良く見えるだけです。