未解析的引用:另一个文件中的sourceSets-Gradle Kotlin DSL
在Gradle(Groovy)中,我曾经这样做来配置源代码集:未解析的引用:另一个文件中的sourceSets-Gradle Kotlin DSL,gradle,kotlin,build.gradle,gradle-kotlin-dsl,source-sets,Gradle,Kotlin,Build.gradle,Gradle Kotlin Dsl,Source Sets,在Gradle(Groovy)中,我曾经这样做来配置源代码集: build.gradle: apply plugin: 'java' apply from: 'gradle/test.gradle' sourceSets { unitTest { compileClasspath += main.output runtimeClasspath += main.output } } gradle/test.gradle: apply plugin
build.gradle
:
apply plugin: 'java'
apply from: 'gradle/test.gradle'
sourceSets {
unitTest {
compileClasspath += main.output
runtimeClasspath += main.output
}
}
gradle/test.gradle
:
apply plugin: 'java'
apply from: '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")
sourceSets {
create("unitTest") {
// Do configurations
}
}
gradle/test.gradle.kts
:
plugins {
java
}
apply(from = "gradle/test.gradle.kts")
sourceSets {
create("unitTest") {
// Do configurations
}
}
如果由于未解析引用而失败:sourceset
错误
我怎么能在Kotlin Gradle做同样的事情呢?这是一种重复 使用单独的gradle文件时,不能直接引用sourceSet。 参考答案: 由于插件必须在同一构建脚本中应用, Gradle不知道应用了插件,因此无法生成 允许访问源集的扩展函数 如前所述,您可以使用
project.the()
要创建新的源集,可以使用create()
方法
project.the()。未解析的引用是在尝试“编译”gradle/test.gradle
时出现的。Groovy中的这段代码确实有效。如果我尝试重命名该文件,则错误不同(找不到某种类型的文件),可能是重复的