我正在尝试编写自定义 gradle 插件(为我自己),它使用许多外部插件,如(detekt)......但似乎这是不可能的,我只能编写由我的插件创建的内部任务.. . 看起来我必须自己构建外部插件并将其用作 jar 文件或创建使用例如 detekt 核心 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
}
}
}}
}