2016-12-09 3 views
0

Я хотел бы объединить задачи градиента Android в один и выполнить их в определенном порядке. task.dependsOn не работал для меня для списка задач, а также не использовался метод shouldRunAfter.Gradle выполняет задачи андроида в определенном порядке

task buildAll { 
    shouldRunAfter = ['clean', 'checkstyle', 'build'] 
} 

Каков наилучший способ запуска задач Android-градиента в определенном порядке?

ответ

0

Я закончил с использованием doLast в связи с exec. В этом примере мы определяем задачу buildAll, которая выполняет очистку, checkstyle, build и lint на заказ - один за другим.

task buildAll { 
    doLast { 
     exec { 
      commandLine "${getRootDir()}/gradlew", "clean", "checkstyle", "build", "lint" 
     } 
    } 
} 

вы также можете использовать:

task buildAll { 
    doLast { 
     exec { 
      commandLine "${getRootDir()}/gradlew", "clean" 
     } 
     exec { 
      commandLine "${getRootDir()}/gradlew", "checkstyle" 
     } 
     exec { 
      commandLine "${getRootDir()}/gradlew", "build" 
     } 
     exec { 
      commandLine "${getRootDir()}/gradlew", "lint" 
     } 
    } 
}