2016-01-20 42 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 
     } 
    } 
} 
相關問題