是它在某种程度上可能不执行任务的依赖性时任务将被跳过?在Gradle中跳过依赖执行被禁用的任务吗?
在下面的例子,我想jar
(和jar
的依赖关系)如果执行runServerTests
当服务器已经在运行被执行以不。在这种情况下,服务器将由另一个进程启动。
apply plugin: 'java'
task startServerIfNotRunning(dependsOn: jar) {
onlyIf { isServerNotRunning() }
...
}
task runServerTests(dependsOn: startServerIfNotRunning) { ... }
我宁愿不添加onlyIf
到jar
任务,因为这总是应该可以根据一个执行其他任务。 jar
任务也具有自己的依赖关系。
我不知道答案在这里,但如果你的服务器依赖于罐子,罐子是过时的,为什么你不想要重新启动服务器?如果罐子是最新的和所有它的依赖是最新的,然后它不花费你太多的时间为jar任务不执行任何操作... – erdi 2013-04-25 17:26:10
当你这样做有他的道理,我们确实有很多的子项目,因此即使所有内容都是最新的,也需要大约15-30秒才能完成“重新编译”。如果可能的话,我想摆脱这个时间。大部分时间服务器将会是最新的。 – 2013-04-26 10:19:36
见http://stackoverflow.com/questions/18624391/how-to-set-onlyif-for-dependencies-of-gradle-task/18877504#18877504 – 2013-09-18 16:28:55