如何将命令行参数传递给Gradle Kotlin DSL
问题描述:
下面是Groovy的一个例子,它准确地表达了我想要实现的目标:
Here's an example from Groovy that represents exactly what I would like to achieve:
Command line
:
./gradlew jib -PmyArg=hello
build.gradle.kts
task myTask {
doFirst {
println myArg
... do what you want
}
}
此示例的来源为此处-选项3 .
如何在Kotlin DSL中读取pass并读取myArg
值?
How can I read pass and read myArg
value in Kotlin DSL ?
答
一段时间后找到答案:
build.gradle.kts
val myArg: String by project // Command line argument is always a part of project
task("myTask") {
doFirst {
if (project.hasProperty("myArg")) {
println(myArg)
}
}
}
Command line
:
gradle myTask -PmyArg=foo
Output
:
$ gradle myTask -PmyArg=foo
> Task :myTask
foo
BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed
相关链接:
- How to pass arguments from command line to gradle
- How to pass parameters or arguments into a gradle task
- Gradle task check if property is defined