我正在使用以下代码:
java.sourceSets["main"].java {
srcDir("src/main/extraSource")
}
在gradle 4.9中可以完美工作,但是在4.10中rc1给出以下错误:
Line 5: java.sourceSets["main"].java {
^ Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
public val Project.sourceSets: SourceSetContainer defined in org.gradle.kotlin.dsl
有什么想法吗?需求有所变化吗? 如果其他答案(例如this one和该问题的每个建议答案)也需要更新,
答案 0 :(得分:11)
这是预期的重大更改,列在https://docs.gradle.org/4.10-rc-2/release-notes.html#changes-to-the-gradle-kotlin-dsl
但是不幸的是,它在Kotlin DSL发行说明中丢失了,它将在4.10 GA中修复。
简而言之,java.sourceSets
现在为sourceSets
。对于您的示例,固定脚本为:
sourceSets["main"].java {
srcDir("src/main/extraSource")
}
这是gradle/gradle
中的一项更改,请参阅https://github.com/gradle/gradle/pull/5867以获得一些背景知识。