Gradle 依赖另一个具有参数值的任务
我有一个插件的任务,我在命令行上调用它,如下所示:Gradle 依赖另一个具有参数值的任务,gradle,Gradle,我有一个插件的任务,我在命令行上调用它,如下所示: $ gradle myTask -PsomeArg=<value> $ gradle otherTask task otherTask (dependsOn: 'myTask', someArg: 'value') {...} 我假设我的任务应该是这样的: $ gradle myTask -PsomeArg=<value> $ gradle otherTask task otherTask (dependsOn
$ gradle myTask -PsomeArg=<value>
$ gradle otherTask
task otherTask (dependsOn: 'myTask', someArg: 'value') {...}
我假设我的任务应该是这样的:
$ gradle myTask -PsomeArg=<value>
$ gradle otherTask
task otherTask (dependsOn: 'myTask', someArg: 'value') {...}
您可以定义一个任务,当此值未作为命令行参数提供时,该任务将为项目属性
someArg
设置默认值:
task otherTask (){
finalizedBy myTask
doFirst{
if (!project.hasProperty("someArg")) {
project.ext.set("someArg", "defaultValue")
}
}
}
请注意,您需要在此处使用finalizedBy
依赖项类型:如果您在myTask上使用otherTask.dependsOn,将首先执行taskmyTask
(因此属性someArg
的默认值尚未设置)
执行结果:
./gradlew myTask -PsomeArg=myValue
> Task :myTask
executing task pluginTask with arg: myValue
./gradlew otherTask -PsomeArg=myValue
> Task :myTask
executing task pluginTask with arg: myValue
./gradlew otherTask
> Task :myTask
executing task pluginTask with arg: defaultValue