Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gradle exclude plugin in main project for specific subproject(s)

Tags:

I am working on a larger project that contains many subprojects which are all build with gradle. Generally all projects are java projects, therefore in the main build.gradle script

allprojects {     apply plugin: 'java' } 

is specified for all projects.

However I need to either remove the plugin for a certain subtree of projects or explicitly exclude the the projects from the plugin.

Heres a rough overview of the project layout

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

Android/* does not need the java plugin. What is the best solution to achieve this? Note: I cannot change the project structure.

like image 733
nfusion Avatar asked Apr 07 '14 08:04

nfusion


2 Answers

This should do the trick (when placed in root build.gradle script)

configure(allprojects - project(':Android')) { //or ':Android:AndroidApps' not sure     println "applying java plugin to $project"     apply plugin: 'java'   } 
like image 155
Opal Avatar answered Oct 20 '22 01:10

Opal


You can also do this way:

allprojects {     if (!it.name.startsWith('Android')) {         apply plugin: 'java'     } } 
like image 26
Taras Leskiv Avatar answered Oct 20 '22 03:10

Taras Leskiv