Ich bin auf der Suche nach einer Möglichkeit zu überprüfen, ob eine bestimmte Rake-Aufgabe innerhalb der Rakefile vorhanden ist. Ich habe eine Aufgabenabhängigkeit, die ich nur als eine Abhängigkeit einschließen möchte, wenn diese Aufgabe verfügbar ist. In diesem speziellen Fall ist die Aufgabe nur in einem Rails-Projekt verfügbar, aber ich möchte, dass meine Rake-Aufgaben auch in einer allgemeineren Ruby-Anwendungsumgebung funktionieren (nicht nur in Rails).Überprüfen, ob Rake-Task in Rakefile existiert
Ich möchte so etwas wie dies zu tun:
if tasks.includes?('assets:precompile')
task :archive => [:clean, :vendor_deps, 'assets:precompile']
...
end
else
task :archive => [:clean, :vendor_deps]
...
end
end
Was ist der beste Weg ist, bedingt eine Aufgabe Abhängigkeit in einer Harke Aufgabe enthalten?
Wählen Sie @ Doons Antwort wegen der ausführlicheren Erklärung. – conorliv
Fair genug. Sei nur vorsichtig mit 'invoke', da es nicht ganz so funktioniert wie Abhängigkeiten. Es wird immer die Rake-Task ausgeführt, während bei einer Abhängigkeit die Rake-Task nur ausgeführt wird, wenn sie noch nicht ausgeführt wurde. – Shadwell
@Shadwell, ruft nicht auf, nur wenn benötigt, während Ausführen führt es unabhängig? Im ersten Beispiel sollte es es aufrufen, und wenn es nicht bereits ausgeführt wurde, wird es ausgeführt. Wenn es war, wird es immer noch aufrufen, aber nicht ausführen. Wenn ich das brauchte, würde ich wahrscheinlich nur das letzte Beispiel nützlicher/allgemeiner sein, denke ich. – Doon