Подтвердить что ты не робот

Gradle исключить плагин в основном проекте для конкретного подпроекта (ов)

Я работаю над большим проектом, который содержит много подпроектов, все из которых строятся с помощью gradle. Как правило, все проекты представляют собой Java-проекты, поэтому в основном build.gradle script

allprojects {
    apply plugin: 'java'
}

указан для всех проектов.

Однако мне нужно либо удалить плагин для определенного поддерева проектов, либо явно исключить проекты из плагина.

Вот краткий обзор макета проекта

+ Main
+-- javaApplications
+-- javaLibs
+-- Android
+-----AndroidApps
+-----AndroidLibs

Android/* не нужен плагин java. Какое лучшее решение для этого? Примечание. Я не могу изменить структуру проекта.

4b9b3361

Ответ 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'
    }
}