我想在一个新的任务名称(如mylocaldevflow)下同时运行一小组任务。
最好的方法是什么?
我可以制作一个自定义任务,如:
task localflow {
description 'Task to ease local development.'
}
localflow.dependsOn snapshot
localflow.dependsOn javadoc
localflow.dependsOn build
localflow.dependsOn publishToMavenLocal
但是,当依赖任务不是最新时,这似乎会受到影响。
除了不是最新的,它只运行顶级的“构建”任务,并忽略构建中的子模块构建任务。
如果可能的话,我不想使用默认任务列表。
答案 0 :(得分:0)
您打算尝试使用最新的房产。
看看这个:Resetting the UP-TO-DATE property of gradle tasks?
以上链接显示了如何始终运行任务。如果所有依赖任务都是最新的,那么它应该是一个便宜的运行,因此将其设置为始终运行可能是一个快速,简单的解决方案。如果您需要更复杂的逻辑,您可以深入了解gradle文档以找到所需内容:https://docs.gradle.org/current/userguide/more_about_tasks.html#sec:up_to_date_checks
答案 1 :(得分:0)
要使这个复合任务在多模块构建中工作,而不是通过更新阻止执行,我做了:
task localflow {
description 'Task to ease local development.'
outputs.upToDateWhen { false }
}
subprojects {
localflow.dependsOn snapshot
localflow.dependsOn javadoc
localflow.dependsOn build
localflow.dependsOn publishToMavenLocal
}