Rake ist ähnlich wie Make daß ein Rakefile besteht aus Ziele und Abhängigkeiten einzurichten. Dies unterscheidet sich von einem normalen Ruby-Skript darin, dass Rake bei dem Ziel beginnt, nach dem Sie fragen, und rekursiv seine Abhängigkeiten ausführt, bevor das Ziel selbst ausgeführt wird.
So installieren könnte wie folgt aussehen:
task :install => :stage do
# stuff to do
end
Hier Ihr Ziel ist die install
Aufgabe, und es hängt von einer anderen Aufgabe stage
genannt.
auszuführen install
, Rechen muss zuerst die Abhängigkeiten von stage
auszuführen (wenn es welche hat), dann stage
, dann führt er schließlich install
. Also nein, Sie führen nicht die gesamte Datei aus, nur so viel, dass Sie das gewünschte Ziel sicher ausführen können.
Rake unterstützt auch Datei Ziele:
file 'foo.html' => 'bar.xml' do |t|
# Build foo.html from bar.xml, however that is done
end
Wenn Sie Machen Sie wissen, das kommt mir bekannt vor. Rake prüft zuerst, ob bar.xml
von irgendetwas abhängt, und wenn ja, führt es das aus. Wenn dann bar.xml
neuer als foo.html
ist, führt Rake diese Dateiaufgabe aus. Wenn foo.html
neuer ist, nimmt Rake an, dass es bereits gebaut wurde und überspringt es.
Für mehr, die ist ein guter Ort, um zu beginnen, wenn Sie lernen möchten, was Rake tut.
Wenn Sie "rake install --dry-run" ausführen, sehen Sie auch, welche Aufgaben Rake ausführen wird, ohne dass tatsächlich eine Verarbeitung stattfindet. – Shadwell