2016-01-20 41 views

回答

2

您可以使用TaskExecutionGraph做到这一点。首先,你需要提供一个名为ideaNoRecompile的自定义任务,在配置阶段,你需要检查这个图是否包含ideaNoRecompile任务(也就是说,这个任务将被执行,如果这个任务应该被执行,那么你可以使用一个closгre跳过所有的任务,你不希望被执行的事情是这样的:

task ideaNoRecompile(dependsOn:idea) { 
    gradle.taskGraph.whenReady { graph -> 
     if (graph.hasTask(ideaNoRecompile)) { 
      compileJava.enabled = false 
      compileTestJava.enabled = false 
     } 
    } 
} 
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 
     } 
    } 
} 
相关问题