2012-11-28 13 views
19

Mam identyczny problem z tym Gradle Multi-Module Project Setup, ale muszę użyć zależności kompilacji projektu do budowania i nie mogę użyć rozwiązania zależności bibliotek (jar), które zostały podane jako rozwiązanie w powyższym pytaniu .Gradle zagnieżdżone multi-projekty z zależnościami kompilacji projektu

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

PP1, PP2, PP3 i PP4 to podprojekty i każdy ma własne pliki build.gradle; P1 i P2 również mają pliki build.gradle i settings.gradle.

Jak mogę zadeklarować PP1 jako zależność od kompilacji w pliku build.gradle PP3?

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 
} 

biegnę Gradle v1.2

+0

Możliwy duplikat [Czy możliwe jest skonfigurowanie projektu gradle z więcej niż 2 poziomami?] (Http://stackoverflow.com/questions/15299004/is-it-possible-to-set-upa-a- gradle-project-with-more-than-2-levels) –

Odpowiedz

33

Wzrost stanu może mieć tylko jeden settings.gradle pliku. Zakładając settings.gradle znajduje się w katalogu głównym i obejmuje projekty tak:

include "P1:PP1" 

można dodać zależność kompilacji tak:

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

Aby uzyskać więcej informacji, zobacz „Multi-Projekt opiera się” rozdział w Gradle User Guide.

+0

Dzięki! W powiązanym pytaniu, czy można zadeklarować cel Ant jako zależność w zamknięciu zależności build.gradle? Scenariusz: plik build.gradle P2 importuje plik build.xml P2; "myAntTask" jest celem w pliku build.xml; projekt settings.gradle zawiera 'include 'P1: PP1', 'P2''; Mogę wykonać obiekt mrówki "myAntTask" P2 przy użyciu Gradle. Trzymając się wymaganej zależności od mojej kompilacji, jak mogę zadeklarować "myAntTask" jako zależność od kompilacji w build.gradle P1? Powoli konwertuję mój projekt zbudowany na Anta na Gradle, jednocześnie dodając nowe projekty Gradle – meja

+0

Wygląda na to, że są to mylące zależności między zadaniami i artefaktami. –

+0

Nie odpowiedział na pytanie "Jak zadeklarować PP1 jako zależność od kompilacji w pliku build.gradle PP3?". To rozwiązanie pokazuje tylko P1 i PP1. – AndroidDev

Powiązane problemy