我可以以某种方式确保在另一个任务之前/之后执行任务,同时执行这两个任务吗?我不希望添加的依赖这总是有他们之间.
我有两个任务,一个启动服务器,另一个运行测试.启动该服务器的任务在新进程中运行它,因此我可以运行gradle startServer runServerTests
.由于启动服务器需要一些时间,因此必须可以使用一个gradle进程启动服务器,然后使用另一个gradle进程多次运行测试.
现在,我正在尝试创建一个完成CI环境所做的所有事务的任务,包括启动服务器和运行服务器测试.我显然想在运行测试之前确保服务器已启动,但到目前为止我运气不好.
我的第一次尝试是在下面,但由于无法保证定义的依赖项的顺序,因此不起作用:
task doItAll(dependsOn: [startServer, runServerTests]) { ... }
Run Code Online (Sandbox Code Playgroud)
task doItAll() << {
tasks.startServer.execute()
tasks.runServerTests.execute()
}
Run Code Online (Sandbox Code Playgroud)
解决方案在路线图上(GRADLE-294,Initializer/Finalizer),但现在对我没有帮助.
目前它可能对你没什么帮助,但是我最近在这个领域提交了一个拉取请求,暗示它应该变成1.6(它们目前正在发布1.5并且PR没有进入那个版本) - 请参阅此处的讨论.你最好的选择是在1.5版本之后等待pull请求合并到master中,然后从这里获取第一个可用的nightly build .
编辑
Gradle 1.6已经发布了一段时间,现在你可以简单地使用它mustRunAfter
来实现这一点.有关详细信息,请参阅Gradle手册中有关任务排序的部分.
归档时间: |
|
查看次数: |
5078 次 |
最近记录: |