Вы можете определить задачу, которая установит значение по умолчанию для свойства проекта someArg
, если это значение не указано в качестве параметра командной строки:
task otherTask (){
finalizedBy myTask
doFirst{
if (!project.hasProperty("someArg")) {
project.ext.set("someArg", "defaultValue")
}
}
}
Обратите внимание, что вам нужно использовать finalizedBy
тип зависимости здесь: если вы используете otherTask.dependsOn myTask
, задача myTask
будет выполнена первой (поэтому значение по умолчанию для свойства 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