gpt4 book ai didi

gradle - 如何从 Gradle 中的 Kotlin 获取 Groovy DSL 提供的值

转载 作者:行者123 更新时间:2023-12-02 02:44:05 25 4
gpt4 key购买 nike

假设以下配置:
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)。



管理依赖版本的更好方法是利用 Java Platform插入。

关于gradle - 如何从 Gradle 中的 Kotlin 获取 Groovy DSL 提供的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57007133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com