Ich habe die folgende einfache Aufgabe in meinem Build:Gradle reinigen meine Datei vor dem ZIP-Task-Ausführung Löschen
task generateFile << {
def file = new File("$buildDir/setclasspath.sh")
file.text = "sample"
outputs.file(file)
}
task createDistro(type: Zip, dependsOn: ['copyDependencies','packageEnvironments','jar', 'generateFile']) <<{
from generateClasspathScript {
fileMode = 0755
into 'bin'
}
}
Als ich gradle clean build
betreibe ich die folgende Ausgabe sehen:
Cannot call TaskOutputs.file(Object) on task ':generateFile' after task has started execution. Check the configuration of task ':generateFile' as you may have misused '<<' at task declaration
Wie kann ich Erklären Sie die Ausgabe der Task-Datei-Erstellung als eine Eingabe für die Zip-Aufgabe, während Sie auch sicherstellen, dass sie in der Ausführungsphase passieren?
Wenn ich die < < weglasse, löscht die saubere Aufgabe die generierte Datei, bevor die ZIP es verwenden kann. Wenn ich sie behalte, bekomme ich den obigen Fehler.
Die print-Anweisung in der Konfigurationsphase der Aufgabe ist. Verwenden Sie "<<", um diesen Block in die Ausführungsphase der Aufgabe zu stellen. –
Ich habe Probleme, ich habe versucht, << hinzuzufügen, aber dann bekomme ich ein Problem sagen, dass ich es missbraucht, weil ich outputs.file (blah) erklärte, nachdem die Ausführungsphase begonnen hat. Aktualisieren der Frage – 75inchpianist
Mögliche Duplikate von [Wann zu verwenden "<<" in Gradle Aufgabe] (http://stackoverflow.com/questions/25071462/when-to-use-in-gradle-task) –