使用Kotlin DSL在单独的文件中配置插件



为了区分不同的插件配置,我使用了单独的文件。

例如:

/build.gradle.kts
./detekt.gradle.kts
./settings.gradle-kts
./module1
../module2

在根build.gradle.kts中,我有这个:

plugins {
id("io.gitlab.arturbosch.detekt") version DependencyVersion.Detekt
}
buildscript {
dependencies {
classpath(io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.1.1)
}
}

为了配置它,我转到detekt.gradle.kts并输入:

apply(plugin = "io.gitlab.arturbosch.detekt")
detekt {
// configure
}

但未找到detektlambda。也尝试过:

apply(plugin = "io.gitlab.arturbosch.detekt")
configure<io.gitlab.arturbosch.detekt.Detekt> {
// configure
}

但没有找到.Detekt

对于JaCoCo,我使用第二种方法没有任何问题,但它不适用于Detekt或SonarQube。

如何在单独的文件中配置插件?

谢谢。

尝试以下内容。我已经在我的主gradle中声明了一个插件"sonarqube"。然后,我将文件sonar.gradle.kts应用于build.gradle-kts文件的末尾。

build.gradle.kts:
plugins {
id("org.sonarqube") version "2.8" apply false
}
...
apply(from="$rootDir/gradle/includes/sonar.gradle.kts")    
gradle/includes/sonar.gradle.kts:
apply(plugin="org.sonarqube")

使用上面的设置,我可以运行"gradle sonarqube">

我也遇到了类似的问题。你需要做的一切就是打电话给

configure<io.gitlab.arturbosch.detekt.extensions.DetektExtension> {             
// configure
}

更多信息,您可以在这里找到:https://docs.gradle.org/current/userguide/migrating_from_groovy_to_kotlin_dsl.html#configuring-插件

最新更新