Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gradle nested multi-projects with project compile dependencies

I have an identical problem to this Gradle Multi-Module Project Setup but I have to use project compile dependencies to build and cannot use the library(jar) dependencies solution that was given as a solution in the above question.

Root |__ P1 |   |_ PP1 |   |_ PP2 | |__ P2    |_PP3    |_PP4 

PP1, PP2, PP3 and PP4 are sub-projects and each have their own build.gradle files; P1 and P2 also have build.gradle and settings.gradle files.

How can I declare PP1 as a compile dependency in PP3's build.gradle file?

apply plugin: 'java'  dependencies {     compile('P1:PP1') //does not work     compile group: 'P1', name: 'PP1', version: '0.1' // jar library dependency not an option      compile('{ant_target}')? //follow up question - an ant target as a dependency } 

I'm running Gradle v1.2

like image 650
meja Avatar asked Nov 28 '12 00:11

meja


People also ask

What is subproject in Gradle?

subprojects { sourceCompatibility = 11 } It adds the sourceCompatibility property to all sub-projects. This property is then used by the Gradle build Java Plugin: Java version compatibility to use when compiling Java source. Default value: version of the current JVM in use JavaVersion.


1 Answers

A build can only have a single settings.gradle file. Assuming settings.gradle is in the root directory and includes projects like so:

include "P1:PP1" 

You can add a compile dependency like so:

dependencies {     compile(project(":P1:PP1")) } 

For more information, see the "Multi-Project Builds" chapter in the Gradle User Guide.

like image 121
Peter Niederwieser Avatar answered Sep 22 '22 10:09

Peter Niederwieser