如何从root构建控制子项目Gradle任务的顺序?

时间:2016-12-13 15:40:17

标签: gradle build task

我有一个包含两个子项目的Gradle项目:

  • backend
  • frontend

我想在名为stage的父项目中创建一个任务,该项目仅在运行:backend:build:frontend:clean之后执行:backend:clean

我试过这个但是mustRunAfter被忽略了,清理发生在构建结束时。这有什么问题?

task stage(dependsOn: [':frontend:clean', ':backend:clean', ':backend:build'])
task(":backend:build").mustRunAfter(":frontend:clean", ":backend:clean")

我也尝试用第二行替换:

project("backend").build.mustRunAfter(":frontend:clean, ":backend:clean")

但仍然没有运气。

1 个答案:

答案 0 :(得分:0)

我仍然不确定为什么我的尝试不起作用,但这是一种有效的方法:

task stage(dependsOn: [':frontend:clean', ':backend:clean', ':backend:build'])
tasks.getByPath(":backend:build").mustRunAfter(":frontend:clean", ":backend:clean")