gradle - 创建包含多个任务的Gradle任务

标签 gradle android-gradle-plugin gradlew

是否可以创建运行多个任务的gradle任务?我的目标是拥有一个命令cleanAndTestAll,该命令将像这样执行:

./gradlew cleanAndTestAll

相当于这样做:
./gradlew clean :unit:test :app:connectedAndroidTestPlayDebug

最佳答案

一种方法是根据您要运行的任务定义包装器任务。
例如,将以下内容添加到root 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 - 创建包含多个任务的Gradle任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33501883/

相关文章:

gradle - 任务 :app:checkReleaseAarMetadata FAILED react-native

selenium - 如何通过命令行运行Selenium Testng jar文件

Android Gradle 设置

java - “java”插件与 Android 插件不兼容

android - 构建 Android Studio 项目时出现 "Error: Duplicate Resources"?

android - 如何在 Visual Studio Team Services 上设置 Android 构建

gradle - 使用 Gradle 生成 uber/fat/shade 源-jar(和 javadoc-jar)

android-studio - 如何通过Android Studio项目同步自定义编译参数?

gradle - gradle错误文件名,目录名称或卷标签语法不正确

unit-testing - 通过gradle运行时禁用测试缓存