我想而不是gradle cleanIdea idea -x compileJava -x compileTestJava
打电话给gradle ideaNoRecompile
答案 0 :(得分:3)
您可以使用TaskExecutionGraph
来执行此操作。首先,您需要提供一个名为ideaNoRecompile
的自定义任务,在配置阶段,您需要检查此图是否包含ideaNoRecompile
任务(这意味着,此任务将被执行)如果这个任务应该执行,那么你可以使用一个closгre来跳过所有的任务,你不想被执行。这样的事情:
task ideaNoRecompile(dependsOn:idea) {
gradle.taskGraph.whenReady { graph ->
if (graph.hasTask(ideaNoRecompile)) {
compileJava.enabled = false
compileTestJava.enabled = false
}
}
}
答案 1 :(得分:0)
我找到了另一个类似的答案:
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
}
}
}