如何在自定义Gradle插件中使用外部插件

时间:2018-12-12 08:28:54

标签: gradle gradle-plugin detekt

我正在尝试编写自定义gradle插件(针对我自己),该插件使用了许多外部插件,例如(detekt)...但是看来这是不可能的,我只能编写由我创建的内部任务插入... 看来我必须自己构建外部插件并将其用作jar文件,或者创建使用detekt core API等任务-这是我不想做的事...

如何将例如detekt库和任务配置应用于自定义插件?

package com.urosjarc.gradle.tdd

import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.apply
import org.gradle.kotlin.dsl.existing
import org.gradle.testing.jacoco.plugins.JacocoPlugin

class TddPlugin : Plugin<Project> {
    override fun apply(target: Project) { with(target){

        plugins.run {
            apply(JacocoPlugin::class)
            apply("io.gitlab.arturbosch.detekt")
        }

        task("hello").doLast {
            println("Hello World from plugins! :D")
        }

        val detekt by tasks.existing(Detekt::class) {
            reports {
                html.destination = "$buildDir/detekt"
                xml.enabled = false
            }
        }
    }}
}

0 个答案:

没有答案