我真的很想将我的脚本模块化成多个部分(测试,默认,文档,android)。但是当我尝试将子脚本应用于父脚本时遇到问题...
这是我的 child 脚本(IDE现在没有抱怨)
import io.gitlab.arturbosch.detekt.Detekt
task("hello").doLast {
println("Hello World from plugins! :D")
}
tasks {
val detekt by existing(Detekt::class) {
reports {
html {
val destination = "$buildDir/detekt"
}
}
}
}
但是,当我尝试将此脚本应用于主脚本时:
apply(from = "tdd.gradle.kts")
我得到以下错误:
Script compilation errors:
Line 01: import io.gitlab.arturbosch.detekt.Detekt
^ Unresolved reference: io
Line 10: val detekt by existing(Detekt::class) {
^ Unresolved reference: Detekt
Line 11: reports {
^ Unresolved reference: reports
Line 12: html {
^ Unresolved reference: html
如何解决此问题,以便可以在子脚本中应用例如detekt插件,并将其应用到父脚本中?
最佳答案
From a Gradle core dev(情况与您的情况非常相似):
因此,基本上,使用旧的buildscript
语法,您的导入应该可以进行