gradle有许多使用参数的任务。
gradle test --tests *Test
gradle dependencyInsight --dependency junit
如何在自己的自定义任务中访问参数?
答案 0 :(得分:7)
我最近在一些内部Gradle任务(JavaExec,我认为)中偶然发现了@Option。注释的JavaDoc读取与您正在寻找的完全一样,但它是内部的#39; API。该功能是公共API的一部分从Gradle 4.6开始:请参阅release notes和user guide。
刚试过这个:
import org.gradle.api.tasks.options.Option
class MyTask extends DefaultTask {
@Option(option="funky", description="test")
String myOption
@TaskAction
void echoOption() {
logger.lifecycle("Value of 'myOption': ${myOption}")
}
}
task myTask(type: MyTask) {
}
结果:
$ gradle myTask --funky=foo
:myTask
Value of 'myOption': foo
BUILD SUCCESSFUL
Total time: 0.845 secs
答案 1 :(得分:0)
您应该考虑在调用Gradle时传递-P参数。
- project-prop设置根项目的项目属性,例如-Pmyprop = myvalue。请参见第14.2节“Gradle属性和 系统属性“。
考虑这个build.gradle
task printProp << {
println customProp
}
调用Gradle -PcustomProp = myProp将提供此输出:
$ gradle -PcustomProp=myProp printProp
:printProp
myProp
BUILD SUCCESSFUL
Total time: 3.722 secs
这是我发现传递参数的方式。