Come si fa a escludere transitiva, la dipendenza di progetto in gradle

dato

dependencies {
   compile project(':subproject') {
        transitive = false
   }
}

Questo non funziona correttamente in gradle 1.3. (cioè tutte le dipendenze sono incluse dal sottoprogetto)

Si tratta di un bug o c’è una sintassi diversa per l’esclusione del progetto dipendenze?

  • Ho trovato un Jira su questo che non è stato affrontato, ma sembra che ci sia un lavoro in giro come segue: aggiungere ulteriori parentesi intorno al progetto come segue compilare (progetto(‘:sottoprogetto’)) { transitivo = false } – sto usando questo e si sta lavorando per me – non è intuitiva, ma efficace
  • Questo commento dovrebbe essere segnato risposta. La sfortunata aspetto è che una volta che si escludono progetti deps, se vi capita di includere un set (in quanto è necessario solo un sottoinsieme di i vasetti in quella lista) gradle di solito si lascia. Così per pazzo progetti di divertirsi esclusi da dep dep solo per fare qualcosa di semplice.



One Reply
  1. 29

    Dimostrato la sintassi aggiungere un nuovo (cosiddetto dinamica) transitive proprietà Project oggetto, che, se non da qualche altra parte, non hanno alcun effetto. Si otterrà un messaggio di avviso che le proprietà dinamiche sono state deprecate, che è un segno di un potenziale errore nello script di build, e non sarà difficile in Gradle 2.0.

    La sintassi corretta è (come già indicato):

    dependencies {
        compile(project(':subproject')) {
            transitive = false
        }
    } 
    
    • No such property: transitive for class: org.gradle.api.internal.project.DefaultProject_Decorated
    • la sintassi è fisso, ma la dipendenza anche transitivo al progetto del padre.

Lascia un commento