2012-11-28 23 views
19

Ho un problema identico a questo Gradle Multi-Module Project Setup ma devo usare le dipendenze di compilazione del progetto per creare e non posso usare la soluzione di dipendenze di libreria (jar) che è stata data come soluzione nella domanda precedente .Multiprogetti nidificati di gradle con dipendenze di compilazione del progetto

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

PP1, PP2, PP3 e PP4 sono sotto-progetti e hanno i loro propri file build.gradle; P1 e P2 hanno anche i file build.gradle e settings.gradle.

Come posso dichiarare PP1 come una dipendenza di compilazione nel file build.gradle di 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 
} 

Io corro Gradle v1.2

+0

Possibile duplicato di [È possibile impostare un progetto gradle con più di 2 livelli?] (Http://stackoverflow.com/questions/15299004/is-it-possible-to-set-up-a- gradle-project-with-more-of-2-levels) –

risposta

33

Un accumulo può avere solo un singolo file settings.gradle. Supponendo settings.gradle si trova nella directory root e comprende progetti in questo modo:

include "P1:PP1" 

È possibile aggiungere una dipendenza di compilazione in questo modo:

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

Per ulteriori informazioni, vedere il "Multi-progetto si basa" capitolo il Gradle User Guide.

+0

Grazie! In una domanda correlata, è possibile avere un obiettivo Ant dichiarato come dipendenza nella chiusura delle dipendenze build.gradle? Scenario: il file build.gradle di P2 importa il file build.xml di P2; "myAntTask" è una destinazione in build.xml; il progetto settings.gradle ha 'include 'P1: PP1', 'P2''; Posso eseguire il target della formica "myAntTask" di P2 usando Gradle. Rispondendo al mio requisito di compilazione, come posso dichiarare "myAntTask" come una dipendenza di compilazione in build.gradle di P1? Sto lentamente convertendo il mio progetto Ant in Gradle aggiungendo anche nuovi progetti Gradle – meja

+0

Sembra che tu stia confondendo le dipendenze delle attività e le dipendenze degli artefatti. –

+0

Non ha risposto alla domanda "Come posso dichiarare PP1 come una dipendenza di compilazione nel file build.gradle di PP3?". Questa soluzione mostra solo P1 e PP1. – AndroidDev

Problemi correlati