我正在开发自定义gradle插件,我的插件项目的依赖项如下所示:
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'
}
}
但是,为了可重现的构建,我想知道是否建议使用localGroovy()
和gradleApi()
。
经过大量的谷歌搜索,虽然我可以用特定版本的groovy替换localGroovy()
,但我似乎无法找到关于我将用gradleApi()
取代{{1}}的确切答案。
你们有什么建议吗?
谢谢!
答案 0 :(得分:0)
我建议应用java-gradle-plugin
。它会自动添加gradleApi()
依赖项,还包括一些其他样板配置:https://docs.gradle.org/current/userguide/javaGradle_plugin.html#gsc.tab=0
作为依赖项添加的gradleApi()
版本取决于您使用构建项目的Gradle版本。例如,如果您的包装器具有Gradle 2.14.1,则使用的Gradle API将具有该版本。
您也不必担心localGroovy()
,因为它已包含在插件添加的gradleTestKit()
依赖项中:https://docs.gradle.org/current/userguide/test_kit.html#sub:test-kit-automatic-classpath-injection&gsc.tab=0
以下是一个例子:
apply plugin: 'groovy'
apply plugin: 'java-gradle-plugin'
dependencies {
testCompile('org.spockframework:spock-core:1.0-groovy-2.4') {
exclude module: 'groovy-all'
}
}
答案 1 :(得分:0)
我相信
implementation "com.android.tools.build:gradle-api:3.3.2"
与
相同 implementation gradleApi()