我有一个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")
但仍然没有运气。
最佳答案
我仍然不确定为什么我的尝试都不奏效,但这是一种可行的方法:
task stage(dependsOn: [':frontend:clean', ':backend:clean', ':backend:build'])
tasks.getByPath(":backend:build").mustRunAfter(":frontend:clean", ":backend:clean")