2016-07-12 91 views
7

Così il caso è questo, nel file build.gradle nella struttura di dipendenza che hoC'è un modo per sapere se una certa dipendenza viene compilato nel file Gradle restituendo un valore booleano

dependencies { 
    compile 'A' 
    compile 'B' 
} 

Comunque io vuoi che le persone siano in grado di compilare solo A o solo B, c'è un modo per sapere ad esempio se la dipendenza A è stata usata restituendo un booleano globale che può essere usato da qualche altra parte, in un compito gradle?

così in altre parole

if (A was compiled) { 
     compile A; 
} else { 
     exclude A; 
} 
+1

Perché vuoi le dipendenze opzionali? –

+0

perché ho un compito che deve sapere se la particolare dipendenza è stata inclusa o meno, l'attività è fondamentalmente la costruzione di un barattolo –

+1

Ancora non capisco ... È questo per costruire un barattolo di grasso? Quindi vuoi escludere alcune dipendenze a volte dal barattolo? –

risposta

1

Si potrebbe ottenere tutto compilare dipendenze come questo:

def compile = configurations.compile.allDependencies*.with{"$it.group:$it.name:$it.version".toString()} 

Sarebbe elenco di tutte le dipendenze ritornare in formato group:name:version. Quindi puoi semplicemente usare:

if("org.codehaus.groovy:groovy-all:2.4.7" in compile) { 
    println "org.codehaus.groovy:groovy-all:2.4.7 was compiled" 
} 
+0

interessante, grazie –