为了区分不同的插件配置,我使用了单独的文件。
例如:
/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
}
但未找到detekt
lambda。也尝试过:
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-插件