2015-11-24 24 views
6

Zajmuję się zwyczaj Gradle wtyczki i zależności dla mojego projektu wtyczki wyglądać następująco:Gradle klienta Plugin: gradleApi() vs Explicit Zależność

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' 
    } 
} 

Jednak w interesie powtarzalne buduje, I” Zastanawiam się, czy wskazane jest używanie localGroovy() i .

Po dużo googlowania, chociaż mogłem zastąpić localGroovy() konkretną wersją groovy, nie mogę znaleźć ostatecznej odpowiedzi na temat tego, co zastąpiłbym gradleApi().

Czy macie jakieś sugestie?

Dzięki!

+1

Dzięki za edit @ Opal. –

+0

Nadal szukasz odpowiedzi? – tomasulo

+0

Tak, proszę! –

Odpowiedz

0

Proponuję zastosować java-gradle-plugin. Dodaje zależność gradleApi() automatycznie i obejmuje również niektóre inne konfiguracje szablonowe: https://docs.gradle.org/current/userguide/javaGradle_plugin.html#gsc.tab=0

Wersja gradleApi() która jest dodawana jako uzależnienia zależy od wersji Gradle że używasz budowania projektu. Na przykład, jeśli twoje opakowanie ma Gradle 2.14.1, użyty interfejs API Gradle będzie tej wersji.

też nie trzeba się martwić o localGroovy() ponieważ jest już wliczone w zależności gradleTestKit() która jest dodawana przez wtyczkę: https://docs.gradle.org/current/userguide/test_kit.html#sub:test-kit-automatic-classpath-injection&gsc.tab=0

Oto przykład:

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

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