2017-03-03 95 views
0

我測試的build.gradle文件如下gradle這個任務-all拋出錯誤

task someTask(type: Sync) { 
    def folder = new File('fold1/fold2/'); 
    if(!folder.exists()) { 
     throw new GradleException('Folder Absent'); 
    } 
    else { 

    } 
} 

當我做gradle tasks --all正在運行的任務,並拋出異常。我在想,只有當這個任務運行時,它會檢查文件夾,但它實際上正在運行它爲我運行的任何任務。

有人可以爲此提出解決方法嗎?

在此先感謝。

回答

1

您的代碼在配置階段執行,而不是在執行階段執行。你需要把它放在一個doFirstdoLast塊:

task someTask(type: Sync) { 
    doLast { 
     def folder = new File('fold1/fold2/'); 
     if (!folder.exists()) { 
      throw new GradleException('Folder Absent'); 
     } 
     else { 

     } 
    } 
} 

參見:Why is my Gradle task always running?