我是新手,但我无法通过我在这里描述的方式找到这个问题:
1)我有一个任务versionUpdate
,它在一些文件中递增一个内部版本号计数器。 (任务是任意的;我的问题是关于定义复杂的图依赖性。)
2)如果versionUpdate
任务不是UP-TO-DATE,我只希望compile
执行。这是一个多项目构建,如果任何子项目构建,它只需要发生一次。
3)versionUpdate
应该在 compile
之前发生(因为它必须反映当前的内部版本号),但是当且仅当compile
被添加到图形。也就是说,并非所有任务都应该调用versionUpdate
,甚至compile
也是有条件的。
目前,我只有以下内容:
[compileJava, compileTestJava]*.dependsOn versionUpdate
TL; DR 我如何询问compile
任务是否为最新状态并根据此信息修改任务图?
答案 0 :(得分:0)
您可以通过向doFirst
任务添加compileJava
块来实现您的目标:
compileJava.doFirst {
// your code to update versions goes here
}
仅当compileJava
实际有工作要做时才会执行此操作