2017-03-03 3 views
0

I Test build.gradle Datei alsgradle Aufgaben -alle Fehler werfen

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

    } 
} 

folgt Wenn ich gradle tasks --all tun, ist es die Aufgabe ausgeführt wird und Ausnahme zu werfen. Ich dachte, dass nur wenn diese Aufgabe ausgeführt wird, es nach Ordner sucht, aber es tatsächlich für jede Aufgabe ausführt, die ich ausführe.

Kann jemand einen Workaround vorschlagen?

Vielen Dank im Voraus.

Antwort

1

Ihr Code wird während der Konfigurationsphase und nicht während der Ausführungsphase ausgeführt. Sie müssen es in einem doFirst oder doLast Block setzen:

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

     } 
    } 
} 

Siehe auch: Why is my Gradle task always running?