使用Gradle和Kotlin在预编译脚本中应用插件

时间:2019-10-29 17:10:49

标签: gradle kotlin plugins

我正在尝试应用precompile脚本gradle.kts文件(gradle.kts脚本放在buildSrc/main/java中。一切正常,除了我无法添加带有版本的插件例如我的test.gradle.kts

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

但总是出现错误

Invalid plugin request [id: 'io.gitlab.arturbosch.detekt', version: '1.1.1']. Plugin requests from precompiled scripts must not include a version number. Please remove the version from the offending request and make sure the module containing the requested plugin 'io.gitlab.arturbosch.detekt' is an implementation dependency of project ':buildSrc'.

而且我也无法通过此类来配置扩展名

例如,此正常配置不起作用

configure<DetektExtension>

如何在precompile script中指定插件版本?以及我们如何配置插件?

1 个答案:

答案 0 :(得分:0)

无法看到您的构建结构和文件树,我只能根据我对您问题的理解方式来回答。根据收到的错误消息,您应该在项目级别build.gradle.kts中声明插件依赖项:

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

然后在buildSrc / build.gradle中实现它,如下所示:

plugins {
    io.gitlab.arturbosch.detekt`
}

Gradle在GitHub上有一些示例,我从这里绘制了这个示例,在这里: https://github.com/gradle/kotlin-dsl-samples/tree/master/samples/multi-kotlin-project-with-buildSrc