我正在尝试构建一个gradle自定义插件,而后者依赖于其他插件。特别是,该插件依赖于 com.bmuschko.docker-remote-api 插件(这又取决于java库 com.github.docker-java:docker-java:2.1.1 < / em>的)。
所以我尝试使用以下 gradle.build 文件
apply plugin: 'groovy'
apply plugin: 'maven'
apply plugin: 'com.bmuschko.docker-remote-api'
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.bmuschko:gradle-docker-plugin:2.6.1'
}
}
group = 'com.example'
version = '1.0'
dependencies {
compile gradleApi()
compile localGroovy()
compile group: 'com.github.docker-java', name: 'docker-java', version: '2.1.1'
}
以及以下插件文件:
package com.example.build
import org.gradle.api.Project
import org.gradle.api.Plugin
import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage
class BndPlugin implements Plugin<Project> {
@Override
void apply(Project project) {
task buildDockerImage(type: DockerBuildImage) {
println file("${projectDir}/docker/")
}
}
}
但我使用gradle build
得到的只是错误
unable to resolve class com.bmuschko.gradle.docker.tasks.image.DockerBuildImage
您可以在github上获得完整的plugin project。
答案 0 :(得分:3)
如果您要使用插件中的类,而不是仅仅应用它,那么您还应该在下层依赖项部分中将插件二进制文件包含为编译依赖项。