我想要而不是gradle cleanIdea idea -x compileJava -x compileTestJava
叫gradle ideaNoRecompile
您可以使用
TaskExecutionGraph
来执行此操作。首先,您需要提供一个名为 ideaNoRecompile
的自定义任务,在配置阶段,您需要检查此图是否包含ideaNoRecompile
任务(这意味着该任务将被执行。如果应该执行此任务,那么您可以使用 closгre 跳过所有任务,您不想被执行。像这样:
task ideaNoRecompile(dependsOn:idea) {
gradle.taskGraph.whenReady { graph ->
if (graph.hasTask(ideaNoRecompile)) {
compileJava.enabled = false
compileTestJava.enabled = false
}
}
}
我找到了另一个类似的答案:
task ideaNoRecompile {
finalizedBy allprojects*.tasks*.idea
doFirst {
def skipTasks = ['compileJava', 'compileMirah', 'processResources', 'classes', 'compileTestJava', 'compileTestMirah', 'processTestResources', 'testClasses', 'jar', 'mergeProperties', 'generateModuleManifest' ] as Set
allprojects*.tasks*.each {
if (skipTasks.contains(it.name))
it.enabled = false
}
}
}