2013-05-13 16 views
7

Sono in esecuzione gradle e in precedenza ho eseguito Groovy 1.76. Ora sono aggiornato su Groovy sulla mia macchina locale (groovy_home punta a Groovy 2.1.2, ecc.).Controllo della versione di Groovy Gradle sta utilizzando

$ groovy -version 
Groovy Version: 2.1.2 JVM: 1.7.0_17 Vendor: Oracle Corporation OS: Linux 

Tuttavia, quando sto facendo funzionare i comandi Gradle (test Gradle, classi, ecc) io credo che non sta costruendo contro Groovy 2.1.2, ma in realtà è ancora costruendo contro 1.76. (Il motivo per cui credo che questo errore è che quando eseguo le classi continuo a ricevere questo errore Upgrading Groovy 1.7 - 2.1 Incompatability, correlato alle modifiche apportate dopo 1.76)

C'è un modo per confermare quale versione di groovy la mia installazione di gradle sta costruendo contro ?

Inoltre, qualcuno può confermare dove dovrei configurare la versione groovy per gradle?

+0

Hai aggiornato 'PATH' per assicurarti che fosse corretto? – raffian

risposta

5

La libreria di Groovy su cui si sta costruendo (e quale compilatore Groovy si sta utilizzando) è determinata da quale libreria di Groovy si trova nella configurazione(o, nelle precedenti versioni di Gradle, groovy). Generalmente una dipendenza di Groovy è configurata in modo esplicito, ma può anche essere attivata dalla gestione delle dipendenze transitive. (In caso di conflitto di versione, la versione superiore vince per impostazione predefinita. Quale versione di Groovy installata sul computer è irrilevante.) gradle dependencyInsight --configuration compile --dependency groovy dovrebbe fornire la risposta.

Ecco come una dipendenza Groovy è in genere configurato:

apply plugin: "groovy" 

repositories { 
    mavenCentral() // or some other repository containing a Groovy library 
} 

dependencies { 
    // in Gradle 1.4 or earlier, replace 'compile' with 'groovy' 
    compile "org.codehaus.groovy:groovy-all:2.1.2" 
} 
+0

Perfetto grazie - ero un idiota e mi mancava completamente la dichiarazione di dipendenza groovy! – rhinds

12

Durante il tentativo di controllare la versione groove durante il runtime Gradle, ho trovato è anche possibile stampare la versione Groovy:

task version << { 
    println "Gradle version: " + project.getGradle().getGradleVersion() 
    println "Groovy version: " + GroovySystem.getVersion() 
} 

Come Esempi:

$ ~/usr/gradle-1.8/bin/gradle -q version 
Gradle version: 1.8 
Groovy version: 1.8.6 

$ ~/usr/gradle-2.1/bin/gradle -q version 
Gradle version: 2.1 
Groovy version: 2.3.6 

Nota.- GroovySystem.getVersion() disponibile dal Gr oovy 1.6.9

Problemi correlati