创建包含多个任务的 Gradle 个任务
Create Gradle task that contains several tasks
是否可以创建一个运行多个任务的 gradle 任务?我的目标是有一个命令 cleanAndTestAll
可以像这样执行:
./gradlew cleanAndTestAll
相当于做:
./gradlew clean :unit:test :app:connectedAndroidTestPlayDebug
一种方法是定义一个包装器任务,该任务取决于您想要 运行 的任务。
例如将以下内容添加到根 build.gradle :
task cleanAndTestAll(dependsOn: [ clean, ':unit:test', ':app:connectedAndroidTestPlayDebug']) { }
这个任务会触发另外两个任务。并给出如下输出:
15:31:38: Executing external task 'cleanAndTestAll'...
:clean
:app:connectedAndroidTestPlayDebug
:unit:test
:cleanAndTestAll
BUILD SUCCESSFUL
如果你想在任务之间强制执行顺序,你可以这样做:
task cleanAndTestAll(dependsOn: [clean, ':unit:test', ':app:connectedAndroidTestPlayDebug']) { }
tasks.getByPath(':app:connectedAndroidTestPlayDebug').mustRunAfter tasks.getByPath(':unit:test')
在以下位置了解有关 gradle 任务的更多信息:
https://docs.gradle.org/current/userguide/more_about_tasks.html
是否可以创建一个运行多个任务的 gradle 任务?我的目标是有一个命令 cleanAndTestAll
可以像这样执行:
./gradlew cleanAndTestAll
相当于做:
./gradlew clean :unit:test :app:connectedAndroidTestPlayDebug
一种方法是定义一个包装器任务,该任务取决于您想要 运行 的任务。 例如将以下内容添加到根 build.gradle :
task cleanAndTestAll(dependsOn: [ clean, ':unit:test', ':app:connectedAndroidTestPlayDebug']) { }
这个任务会触发另外两个任务。并给出如下输出:
15:31:38: Executing external task 'cleanAndTestAll'...
:clean
:app:connectedAndroidTestPlayDebug
:unit:test
:cleanAndTestAll
BUILD SUCCESSFUL
如果你想在任务之间强制执行顺序,你可以这样做:
task cleanAndTestAll(dependsOn: [clean, ':unit:test', ':app:connectedAndroidTestPlayDebug']) { }
tasks.getByPath(':app:connectedAndroidTestPlayDebug').mustRunAfter tasks.getByPath(':unit:test')
在以下位置了解有关 gradle 任务的更多信息: https://docs.gradle.org/current/userguide/more_about_tasks.html