我的 Gradle 插件中有一个方法,它声明了一个新的“scratch”源集。我正在尝试将此方法从 Groovy 转换为 Kotlin,但我无法弄清楚我打算如何SourceSet
使用 Kotlin 声明新方法。
class JavaConventionsPlugin : Plugin<Project> {
// ...
def scratchConfiguration(project) {
project.sourceSets {
scratch {
}
}
project.configurations {
// make scratch configurations include all normal dependencies automatically
scratchCompile.extendsFrom mainCompile
scratchRuntime.extendsFrom mainRuntime
scratchCompileOnly.extendsFrom compileOnly
scratchImplementation.extendsFrom implementation
scratchRuntimeOnly.extendsFrom runtimeOnly
}
project.dependencies {
// add dependency on main java code from scratch java code
scratchImplementation project.extensions.getByType(JavaPluginExtension).sourceSets.getByName(SourceSet.MAIN_SOURCE_SET_NAME).output
}
}
}
在转换后的scratchConfiguration
方法中,所有这些似乎都是未解析的引用:
sourceSets
project.sourceSets
java.sourceSets
那么新的 SourceSet 声明应该是什么样的呢?