Я пытаюсь написать собственный плагин Gradle (для себя), который использует много внешних плагинов, таких как (Detekt) ... Но кажется, что это невозможно, я могу писать только внутренние задачи, созданные моимплагин ... Похоже, мне нужно создать внешний плагин и использовать его в качестве jar-файла или создать задачу, использующую, например, API детект-ядра - и это то, чего я не хочу делать ...
Как применить, например, библиотеку детектов и конфигурацию задач к своему пользовательскому плагину?
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
}
}
}}
}