Pewna ilość zadań Gradle, które napisałem, nie wymaga żadnego wejścia ani wyjścia. Z tego powodu te zadania zawsze otrzymują status UP-TO-DATE
, gdy je wywołuję. Przykład:Wymuszanie wykonywania zadań w Gradle
task backupFile(type: Copy) << {
//Both parameters are read from the gradle.properties file
from file(adjusting_file.replaceAll("\"", ""))
into file(backupDestinationDirectory + "/main/")
println "[INFO] Main file backed up"
}
co skutkuje w następujący wynik:
:gradle backupFile
:backupFile UP-TO-DATE
Czy istnieje sposób, aby życie a (ny) zadanie do wykonania, niezależnie od czegokolwiek? Jeśli jest, czy jest również możliwe, aby przełączać wykonanie zadania (np. Informując skrypt kompilacji, które zadania mają zostać uruchomione, a które zadania należy zignorować)?
Nie mogę pominąć tagów <<
, ponieważ może to spowodować wykonanie zawsze, co nie jest tym, czego pragnę.
Bardzo dziękuję z góry za twoje dane wejściowe.
_I nie można pominąć << tagów, jako że spowodowałoby zadania zawsze execute_ => To nie jest poprawne, założę się, że ponieważ println oświadczenie pokazuje za każdym razem swój invoke Gradle na swojej kompilacji plik. Krótko mówiąc, '>>' służy do zdefiniowania ** akcji ** dla twojego zadania, dlatego też println będzie częścią tej akcji i będzie pokazywany tylko wtedy, gdy zadanie zostanie wykonane. Bez '>>' definiujesz konfigurację ** zadania **, dlatego twój println będzie pokazywany za każdym razem, ale nie oznacza to, że zadanie zostało wykonane, ale tylko zostało _konfigurowane_. – Attila