我正在尝试将build.gradle迁移到build.gradle.kts,并且卡在此错误中:

  Line 036: ext.pluginInfo.licenses = ["Apache-2.0"]
                ^ Unresolved reference: pluginInfo
原始的build.gradle“包含”另一个脚本,然后从该脚本引用pluginInfo:
apply from: "rubyUtils.gradle"
pluginInfo.licenses = ["Apache-2.0"]
这是rubyUtils.gradle的(缩短)部分,提供pluginInfo(我想):
ext {
    pluginInfo = new PluginInfo()
}
这是我在Kotlin中提出的。这会导致开头提到的错误:
apply(from = "rubyUtils.gradle")
ext.pluginInfo.licenses = ["Apache-2.0"]
问题:
  • 是否可以完全“导入” Kotlin脚本中的Groovy Gradle脚本(在Kotlin脚本中应用Groovy脚本插件)?
  • 如果可能:如何正确引用pluginInfo
  • 那整个“ext”到底是什么? :-)
  • 最佳答案

  • 是的,您可以在Kotlin中导入Groovy脚本,反之亦然。不幸的是,您可能会遇到类加载问题。
  • val pluginInfo by extra是您根据the documentation所寻找的符号
  • 简而言之,它们是已在Gradle中使用很长时间的扩展系统,请谨慎使用。同样,请查看上面链接的文档以获取更多详细信息。
  • 关于gradle - 如何在我的Kotlin Gradle脚本中引用Groovy脚本插件提供的 “ext”属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64005587/

    10-12 14:10
    查看更多