作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设以下配置:build.dependencies.gradle
:
ext {
libraries = [:]
}
libraries += [
library : [group: 'com.example', name: 'library', version: '1.1.1']
]
build.gradle.kts
:
apply(from = "build.dependencies.gradle")
dependencies {
implementation(libraries["library"]) // does not work
}
build.gradle.kts
中获取 Groovy 脚本提供的值?
最佳答案
它不起作用,因为与 Groovy 不同,Kotlin 是静态/强类型语言。 libraries
没有在 Gradle API 的任何对象上定义。
您可以像这样访问它:
dependencies {
implementation((project.extra["libraries"] as LinkedHashMap<*, *>)["library"]!!)
}
println(project.extra["libraries"])
project.extra[“libraries”]
返回
Object
所以我们需要正确地转换它以获得下一个值。它也被标记为
@Nullable
因此
!!
运算符(operator)。
关于gradle - 如何从 Gradle 中的 Kotlin 获取 Groovy DSL 提供的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57007133/
我是一名优秀的程序员,十分优秀!