Gradle исключить плагин в основном проекте для конкретного подпроекта (ов)
Я работаю над большим проектом, который содержит много подпроектов, все из которых строятся с помощью gradle.
Как правило, все проекты представляют собой Java-проекты, поэтому в основном build.gradle script
allprojects {
apply plugin: 'java'
}
указан для всех проектов.
Однако мне нужно либо удалить плагин для определенного поддерева проектов, либо явно исключить проекты из плагина.
Вот краткий обзор макета проекта
+ Main
+-- javaApplications
+-- javaLibs
+-- Android
+-----AndroidApps
+-----AndroidLibs
Android/* не нужен плагин java.
Какое лучшее решение для этого? Примечание. Я не могу изменить структуру проекта.
Ответы
Ответ 1
Это должно сделать трюк (при размещении в корневом каталоге build.gradle
script)
configure(allprojects - project(':Android')) { //or ':Android:AndroidApps' not sure
println "applying java plugin to $project"
apply plugin: 'java'
}
Ответ 2
Вы также можете сделать так:
allprojects {
if (!it.name.startsWith('Android')) {
apply plugin: 'java'
}
}