使用 Gradle 的 Kotlin 脚本配置获取属性的正确方法

awf*_*fun 5 groovy gradle kotlin

我有一处房产gradle.properties

answer = 42
Run Code Online (Sandbox Code Playgroud)

用于build.gradle

println "answer is ${answer}"
Run Code Online (Sandbox Code Playgroud)

现在我想用 Kotlin 脚本替换 Groovy 以进行 Gradle 配置。如何以正确的方式访问属性?我现在在做的build.gradle.kts是:

fun property(name: String) = properties[name] as String

println("answer is " + property("answer"))
Run Code Online (Sandbox Code Playgroud)

这似乎不是很方便。谢谢!

Vya*_*mov 5

尝试委托属性,如下所示:

val answer by project
println("answer is $answer")
Run Code Online (Sandbox Code Playgroud)

gradle 脚本 kotlin 存储库中有示例 https://github.com/gradle/gradle-script-kotlin/tree/master/samples/project-properties

  • 指定具体类型:val answer:String by project (2认同)