Gradle nested multi-projects with project compile dependencies

41,968

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.

Share:
41,968
meja
Author by

meja

Updated on March 23, 2020

Comments

  • meja
    meja about 4 years

    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