在自定义插件gradle-kotlin-dsl中访问第三方插件类

时间:2019-10-13 09:40:48

标签: gradle plugins gradle-kotlin-dsl

我正在gradle中编写自定义plugin kotlin-dsl

我遇到了一个问题,我无法通过自定义插件功能中的第三方插件访问类。

我尝试用{p>制作一个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插件中的第三方插件类吗?

0 个答案:

没有答案