未解析的引用:sourceSets-Gradle Kotlin DSL在另一个文件中



在Gradle(Groovy)中,我曾经这样做来配置源集:

build.gradle:

apply plugin: 'java'
apply from: 'gradle/test.gradle'

gradle/test.gradle:

sourceSets {
unitTest {
compileClasspath += main.output
runtimeClasspath += main.output
}
}

然后我会使用unitTest源代码集来创建任务。

当我尝试在IntelliJ中为Gradle KTS:做同样的事情时

build.gradle.kts:

plugins {
java
}
apply(from = "gradle/test.gradle.kts")

gradle/test.gradle.kts:

sourceSets {
create("unitTest") {
// Do configurations
}
}

如果失败并出现Unresolved reference: sourceSets错误。

我怎么能在Kotlin Gradle做同样的事情?

它对未解析引用的复制:Gradle Kotlin DSL 的sourceSet

使用单独的渐变文件时,不能直接引用sourceSet。参考答案:

由于插件是在同一个构建脚本中强制应用的,Gradle不知道插件已经应用,因此无法生成允许访问源集的扩展函数。

如前所述,您可以使用project.the<SourceSetContainer>()

要创建新的源,可以使用Setcreate()方法。

project.the<SourceSetContainer>().create("unitTest")

相关内容

  • 没有找到相关文章

最新更新