我有一個調用腳本,並通過命令行參數使用-PARGS
腳本的Gradle一個任務。呼叫一個搖籃任務從另一個帶參數
task taskAll(type: Exec, dependsOn: taskinit) {
environment['PROJECT_ROOT'] = "${projectDir}"
workingDir rootProject.projectDir.path
description = 'Main task'
executable rootProject.projectDir.path + "/execute.me"
if (project.hasProperty('ARGS')) {
args(ARGS.split(','))
}
}
我把這個gradle這個任務與任何下列選項中
./gradlew taskAll
./gradlew taskAll -PARGS="arg1"
./gradlew taskAll -PARGS="arg2"
不過,我想看看我是否拆分taskAll分解成多個任務,說
./gradlew taskA #Calls task taskAll with arg1
./gradlew taskB #Calls task taskAll with arg2
我明白我將不得不復制任務以創建taskA
,taskB
並刪除其中每一箇中的「if」條件和硬編碼參數。
但是,我不知道是否有可能通過具有MainTask的只有調用可執行文件有一個更清潔的實現,再有TaskA
,TaskB
,TaskC
呼叫MainTask
和傳遞參數arg1
,arg2
和arg3
。
*有被調用的gradle中從*另一個任務的執行沒有原生支持,而且它是非常氣餒! – Opal
@Opal你的意思是,可以使用costomeTask.execute()? – Stanislav
是的,當然。爲什麼不?你可以調用其他任務的執行。 [這](https://gist.github.com/Opalo/e92101a0bc3e30821d29)是完全有效的gradle腳本。 – Opal