插件 – Gradle自定义插件的构建抛出“无法解析类”

我正在尝试构建一个gradle自定义插件,而后者依赖于其他插件.特别是,该插件依赖于com.bmuschko.docker-remote-api插件(这又取决于java库com.github.docker-java:d​​ocker-java:2.1.1).

所以我尝试使用以下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构建得到的只是错误

unable to resolve class com.bmuschko.gradle.docker.tasks.image.DockerBuildImage

问题:如何正确管理自定义插件的依赖项?

你可以在github上获得完整的plugin project.

最佳答案
如果您打算使用插件中的类,而不是仅仅应用它,那么您还应该在下层依赖项部分中将插件二进制文件包含为编译依赖项.

转载注明原文:插件 – Gradle自定义插件的构建抛出“无法解析类” - 代码日志