私はすべてgradleでビルドされた多くのサブプロジェクトを含むより大きなプロジェクトに取り組んでいます。通常、すべてのプロジェクトはJavaプロジェクトであるため、メインのbuild.gradleスクリプト内にあります
allprojects {
apply plugin: 'Java'
}
すべてのプロジェクトに指定されています。
ただし、プロジェクトの特定のサブツリーのプラグインを削除するか、プラグインからプロジェクトを明示的に除外する必要があります。
プロジェクトレイアウトの概要
+ Main
+-- javaApplications
+-- javaLibs
+-- Android
+-----AndroidApps
+-----AndroidLibs
Android/*はJavaプラグインを必要としません。これを実現するための最良の解決策は何ですか?注:プロジェクト構造を変更することはできません。
これはトリックを実行するはずです(ルートに配置した場合build.gradle
脚本)
configure(allprojects - project(':Android')) { //or ':Android:AndroidApps' not sure
println "applying Java plugin to $project"
apply plugin: 'Java'
}
次のようにすることもできます:
allprojects {
if (!it.name.startsWith('Android')) {
apply plugin: 'Java'
}
}