Gradle在主项目中为特定的子项目排除插件

我正在研究一个包含许多子项目的大项目,这些子项目都是用gradle构build的。 一般来说,所有的项目都是java项目,所以在build.gradle主脚本中

allprojects { apply plugin: 'java' } 

是为所有项目指定的。

不过,我需要删除某个项目子树的插件,或者明确地从插件中排除项目。

下面粗略的介绍一下项目的布局

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

Android / *不需要Java插件。 什么是实现这个最好的解决scheme? 注:我不能更改项目结构。

Solutions Collecting From Web of "Gradle在主项目中为特定的子项目排除插件"

这应该做的伎俩(当放置在根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' } }