gradle附带的许多任务都使用参数。
gradle test --tests *Test gradle dependencyInsight --dependency junit
如何访问自定义任务中的参数?
zvokhttg1#
您正在寻找的功能是从Gradle 4.6开始的公共API**的一部分:请参阅发行说明和用户指南。用户指南(v8.1.1)的更新链接:https://docs.gradle.org/8.1.1/userguide/custom_tasks.html#sec:declaring_and_using_command_line_options测试了这个(build.gradle):
import org.gradle.api.tasks.options.Option class MyTask extends DefaultTask { @Option(option="funky", description="test") @Input String myOption @TaskAction void echoOption() { logger.lifecycle("Value of 'myOption': ${myOption}") } } task myTask(type: MyTask) { }
结果:
❯ gradle myTask --funky=bar > Task :myTask Value of 'myOption': bar BUILD SUCCESSFUL in 399ms 1 actionable task: 1 executed
jjjwad0x2#
您应该考虑在调用Gradle时传递-P参数。Gradle Documentation:--project-prop设置根项目的项目属性,例如-Pmyprop=myvalue。请参见第14.2节“Gradle属性和系统属性”。考虑到这个构造gradle
task printProp << { println customProp }
调用Gradle -PcustomProp=myProp将给予以下输出:
$ gradle -PcustomProp=myProp printProp :printProp myProp BUILD SUCCESSFUL Total time: 3.722 secs
这是我发现的传递参数的方法。
2条答案
按热度按时间zvokhttg1#
您正在寻找的功能是从Gradle 4.6开始的公共API**的一部分:请参阅发行说明和用户指南。
用户指南(v8.1.1)的更新链接:https://docs.gradle.org/8.1.1/userguide/custom_tasks.html#sec:declaring_and_using_command_line_options
测试了这个(build.gradle):
结果:
jjjwad0x2#
您应该考虑在调用Gradle时传递-P参数。
Gradle Documentation:
--project-prop设置根项目的项目属性,例如-Pmyprop=myvalue。请参见第14.2节“Gradle属性和系统属性”。
考虑到这个构造gradle
调用Gradle -PcustomProp=myProp将给予以下输出:
这是我发现的传递参数的方法。