试图将这个项目的构建迁移到 GSK。我们在 Groovy 中有这个:
allprojects {
apply plugin: 'java'
...
sourceSets {
...
}
sourceCompatibility = ...
}
因此,在弄清楚如何在 Kotlin 中访问插件约定时,我发现:
allprojects {
plugins {
java apply true
}
...
println("Project $name, plugins: ${plugins}") // empty list
val java = the<JavaPluginConvention>() // throws exception
}
但如果你这样做:
allprojects {
apply {
plugin(JavaPlugin::class.java)
}
}
应用插件并且约定变得可访问
什么?