Доступ к стороннему классу плагинов в пользовательском плагине gradle-kotlin-dsl - PullRequest
0 голосов
/ 13 октября 2019

Я пишу пользовательский класс gradle plugin в kotlin-dsl

Я столкнулся с проблемой, что не могу получить доступ к классу из стороннего плагина в пользовательской функции плагина.

Я пытался создать файл TestPlugin.kt с

open class TestPlugin: Plugin<Project> {
    override fun apply(target: Project) {
       configurePlugins(target)
    }
}

internal fun configurePlugins(project: Project) {
    project.plugins.apply("iio.gitlab.arturbosch.detekt")

    project.configure<DetektExtension> {
        parallel = true
        ignoreFailures = true
        baseline = file("${rootProject.projectDir}/detekt-baseline.xml")
    }
}

Проблема в том, что нет импорта для DetektExtension (при установке configure<> в обычный build.gradle.kts файл работает нормально

в обычном режиме build.gradle.kts я могу настроить

plugins {
   id("io.gitlab.arturbosch.detekt") version "1.1.1"
}

subprojects {
   apply(plugin = "io.gitlab.arturbosch.detekt")
   configure<DetektExtension> {
        parallel = true
        ignoreFailures = true
        baseline = file("${rootProject.projectDir}/detekt-baseline.xml")
   }
}

Любое предложение, как получить доступ к классу стороннего плагина внутри пользовательского плагина Gradle?

...