2013-07-23 10 views
28

Molti dei miei vasi hanno dipendenze transitive in conflitto (più versioni primaverili). Vorrei evitare i conflitti di versione ereditati gestendo tutte le mie dipendenze in modo esplicito, è possibile disabilitare tutte le dipendenze transitive in Gradle?Gradle, Come disattivare tutte le dipendenze transitorie

So che posso aggiungere transitive = false a ciascuna delle mie dipendenze, ma spero che ci sia un modo più semplice.

compile(group: 'org.springframework', name: 'spring', version: '2.5.2') { 
    transitive = false 
} 

risposta

41

ho finito per usare:

configurations.all { 
    transitive = false 
} 
+2

Un'altra soluzione è dire a Gradle di fallire nei conflitti di versione e risolvere * quelli * in modo esplicito (piuttosto che gestire tutte le dipendenze transitive in modo esplicito). –

+0

Se sei soddisfatto della tua risposta, dovresti accettarla in modo che la domanda sia contrassegnata come risposta. –

+1

@PeterNiederwieser devi aspettare 48 ore per accettare la tua risposta. –

6

Se si desidera avere un solo blocco di configurazione per tutte le configurazioni è possibile utilizzare operatore di spread-dot per esprimere questo.

configurations { 
    // other configurations e.g. - compile.exclude module: 'commons-logging' 
    all*.transitive = false 
}