我正在开发一个自定义 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()
是可取的。经过多次谷歌搜索,虽然我可以替换
localGroovy()
使用特定版本的 groovy,我似乎无法找到关于我将替换什么的明确答案 gradleApi()
和。大家有什么建议吗?
谢谢!
最佳答案
我建议申请 java-gradle-plugin
.它添加了 gradleApi()
自动依赖,还包括一些其他样板配置:https://docs.gradle.org/current/userguide/javaGradle_plugin.html#gsc.tab=0gradleApi()
的版本添加为依赖项取决于您使用构建项目的 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'
}
}
关于Gradle 自定义插件 : gradleApi() vs Explicit Dependency,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33906081/