gradle - 如何在我的 Kotlin Gradle 脚本中引用 Groovy 脚本插件提供的“ext”属性?
问题描述
我正在尝试迁移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
是您根据文档查找的符号- 简而言之,它们是一个在 Gradle 中存在已久的扩展系统,要小心使用。同样,请查看上面链接的文档以获取更多详细信息。
推荐阅读
- r - ggplot2中带有“其他”组的堆叠条形图
- php - foreach 迭代以匹配数组内容
- php - 给定两个数组组合公共值
- c# - SqlBulkCopy 是否支持 MsSql 2017 中的图形表?
- mysql - 复制所选数据并增加条目 ID
- git - 为什么 Gitlab 无法从本地网络导入存储库,状态码为 128?
- node.js - mongoose 中的 UpdateMany 无法正常工作,但直接在 mongodb 中可以正常工作
- javascript - 如何解析数组对象,其中每个键在数组中有多个值?
- java - 使用处理的 Wolfram 初等元胞自动机
- c - 在c中返回一个数组以计算数字