假设我已经在我的gradle构建脚本中为运行集成和验收测试创建了单独的任务。当我运行构建任务时,我想按照以下顺序运行测试任务:单元测试(测试任务),集成测试(intergationTest任务)和验收测试(acceptanceTest任务)。这是可能的和如何?如何按特定顺序制作Gradle运行任务?
1
A
回答
1
您正在寻找摇篮文档中描述的“后应该运行” - http://www.gradle.org/docs/current/userguide/more_about_tasks.html
1
这里是你如何能做到这一点,而无需创建人工的依赖关系:
https://caffeineinduced.wordpress.com/2015/01/25/run-a-list-of-gradle-tasks-in-specific-order/
TLDR;版本:
//--- build aliases : define a synonym here if you want a shortcut to run multiple targets
def buildAliases = [
'all' : ['clean', 'assemble', 'runProvisioner', 'stopTomcat', 'installTomcat', 'deployToTomcat', 'startTomcat'],
'rebuild' : ['clean', 'assemble']
]
def expandedTaskList = []
gradle.startParameter.taskNames.each {
expandedTaskList << (buildAliases[it] ? buildAliases[it] : it)
}
gradle.startParameter.taskNames = expandedTaskList.flatten()
println "\n\n\texpanded task list: ${gradle.startParameter.taskNames }\n\n"
0
这就是我在我的项目上所做的。
check.dependsOn integTest
integTest.mustRunAfter test
tasks.withType(Pmd) {
mustRunAfter integTest // Pointing to a task
}
tasks.withType(FindBugs) {
mustRunAfter tasks.withType(Pmd) // Pointing to a group of tasks under Pmd
}
tasks.withType(Checkstyle) {
mustRunAfter tasks.withType(FindBugs)
}
它帮我按小组排列任务。
相关问题
- 1. 如何按特定顺序制作Gradle复制源目录?
- 2. 控制gradle任务执行顺序
- 3. 按特定顺序运行windows服务
- 4. Gradle自定义任务操作顺序
- 5. 按顺序运行Jenkins并行任务
- 6. Gradle可以按特定顺序运行两个测试吗?
- 7. 如何在Gradle中并行运行特定任务
- 8. 如何强制openMP按特定顺序运行迭代
- 9. 按顺序运行耙式任务
- 10. Python,按特定顺序运行命令
- 11. 按特定顺序运行承诺
- 12. 按顺序执行任务
- 13. Gradle任务按顺序调用其他任务
- 14. 如何在gradle中运行任务后运行集成任务?
- 15. 如何让6个线程按顺序运行多个任务
- 16. SSIS可以按特定顺序执行任务吗?
- 17. Gulp.js运行的任务,在特定的顺序阻断
- 18. Gruntjs - 以特定顺序运行多个拦截任务(Mongo&Node.js)
- 19. 任务依赖关系是否始终按照特定的顺序运行?
- 20. 如何按特定顺序运行多个事件?
- 21. 如何确保Java线程按特定顺序运行
- 22. 如何按特定顺序运行robotium测试?
- 23. 运行的gradle从任务
- 24. 如何按特定顺序运行Spring批处理作业(Spring Boot)?
- 25. 如何执行gradle任务
- 26. 异步任务按顺序执行?
- 27. 按顺序执行这些任务 - Node.js
- 28. 如何过滤和执行特定的Gradle任务?
- 29. gradle:如何找出执行特定任务的插件?
- 30. gradle测试任务如何运行特定的junit测试套件?
正如我所看到的,它只指定了一个任务在另一个之后运行。我想在构建任务之前运行三个任务。我可以通过这个命令确实做到这一点,但这意味着如果我运行测试任务,只有两个将运行,我不想这样做。 – 2014-10-18 15:32:57
你试过了吗? taskY.shouldRunAfter taskX1,taskX2'工作。 http://www.gradle.org/docs/current/javadoc/org/gradle/api/Task.html#shouldRunAfter(java.lang.Object ...) – Radim 2014-10-18 18:03:43
我知道这是可能的,但我希望这只有在调用构建时才会发生。 – 2014-10-18 18:35:48