【问题标题】:Create Gradle task that contains several tasks创建包含多个任务的 Gradle 任务
【发布时间】:2015-11-03 14:42:51
【问题描述】:

是否可以创建一个运行多个任务的 gradle 任务?我的目标是有一个命令cleanAndTestAll,它的执行方式如下:

./gradlew cleanAndTestAll

并且相当于做:

./gradlew clean :unit:test :app:connectedAndroidTestPlayDebug

【问题讨论】:

    标签: gradle android-gradle-plugin gradlew


    【解决方案1】:

    一种方法是定义一个包装器任务,该任务取决于您要运行的任务。 例如,将以下内容添加到根 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

    【讨论】:

    • 我最终找到了解决方案,但你更快;)谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-11-03
    • 2013-04-28
    • 2015-11-18
    • 1970-01-01
    • 2016-10-02
    • 2015-12-01
    • 1970-01-01
    • 2015-12-30
    相关资源
    最近更新 更多