2015-11-24 10 views
6

sto sviluppando un plugin Gradle costume e le dipendenze per il mio aspetto plug progetto come questo:Gradle personalizzato Plugin: gradleApi() vs dipendenza esplicita

dependencies { 
    compile gradleApi() 
    compile localGroovy() 
    compile('com.xxx.oozie:oozie-dsl-parser:1.0.127') { 
    exclude module: 'groovy-all' 
    } 

    testCompile('org.spockframework:spock-core:1.0-groovy-2.3') { 
    exclude module: 'groovy-all' 
    } 
} 

Tuttavia, nell'interesse della riproducibili costruisce, I' Mi chiedo se è consigliabile utilizzare localGroovy() e gradleApi().

Dopo aver cercato su Google, sebbene potessi sostituire localGroovy() con una versione specifica di groovy, non riesco a trovare una risposta definitiva su cosa sostituirei con lo gradleApi().

Avete qualche suggerimento?

Grazie!

+1

Grazie per la modifica @ Opale. –

+0

Stai ancora cercando una risposta? – tomasulo

+0

Sì, per favore !!!!! –

risposta

0

Suggerisco di applicare java-gradle-plugin. Si aggiunge il gradleApi() dipendenze automaticamente e include anche alcune altre configurazioni boilerplate: https://docs.gradle.org/current/userguide/javaGradle_plugin.html#gsc.tab=0

La versione del gradleApi() che viene aggiunto come la dipendenza dipende dalla versione Gradle che si sta utilizzando la costruzione del progetto. Ad esempio se il tuo wrapper ha Gradle 2.14.1 l'API Gradle usata sarà di quella versione.

Inoltre non si deve preoccupare localGroovy() perché è già incluso nel gradleTestKit() di dipendenza che viene aggiunto dal plugin: https://docs.gradle.org/current/userguide/test_kit.html#sub:test-kit-automatic-classpath-injection&gsc.tab=0

Ecco un esempio:

apply plugin: 'groovy' 
apply plugin: 'java-gradle-plugin' 

dependencies { 
    testCompile('org.spockframework:spock-core:1.0-groovy-2.4') { 
     exclude module: 'groovy-all' 
    } 
}