Rake ist ein Aufgaben-Automatisierungswerkzeug. Ursprünglich nur eine Ruby-Variante des *nix-Buildtools
InstallationAb Ruby 1.9 wird Rake bereits mitgeliefert. Frühere Versionen müssen Rake über RubyGems installieren:
VerwendungenRake wird größtenteils zur Verwaltung von Gems verwendet. Es erstellt hier zumeist aus den einzelnen Quelldateien anhand einiger Anweisungen und einer Gemspec die fertige Neben diesen Anwendungen kann man Rake aber auch für jegliche öfter anfallende Arbeiten benutzen, beispielsweise um sich den aktuellen Ruby-Development-Snapshot herunterzuladen und zu installieren. So geht'sRake basiert auf Tasks, also Aufgaben, die in einer
Damit holt man sich Rakes Methoden in die Datei. Dann kann man auch schon Tasks mit der Methode task definieren:
Mithilfe von desc (kurz für engl. description, Beschreibung) geben wir eine Beschreibung des Tasks an. Um unseren Task nun auszuführen, navigieren wir ins das Verzeichnis mit der Rakefile und führen
Um uns alle verfügbaren Tasks anzeigen zu lassen, verwenden wir
Dieser Task räumt zunächst das Projektverzeichnis auf, dann kompiliert er eine C-Extension, führt dazugehörige Unit Tests aus, erstellt die Dokumentation und veröffentlicht den Gem. Zuletzt gibt er die Meldung BesonderheitenRake bietet ein paar Besonderheiten, vornehmlich ein paar Extra-Methoden zur Verwendung. Zum einen sind in einer Rakefile alle Methoden des Moduls FileUtils verfügbar, die außerdem standardmäßig das Vorsicht bei fehlender RakefileWird rake aufgerufen und es befindet sich keine Rakefile im aktuellen Arbeitsverzeichnis, begibt es sich auf die Suche. Dafür durchsucht es alle Elternverzeichnisse bis hinauf nach / (oder C:\ auf Windows), was nicht selten dazu führt, dass man eine völlig andere Rakefile erwischt, als man eigentlich haben wollte. Aus diesem Grunde zeigt Abbruch von TaskkettenDefiniert man einen Task, der auf einigen anderen Tasks basiert, von denen während der Ausführung einer fehlschlägt, so bricht Rake die gesamte Taskkette ab. D.h., wenn :default zum Beispiel auf :compile und :test basiert, und :compile fehlschlägt, wird Rake :test nicht mehr durchführen. Vordefinierte Rake-TasksEinige Tasks muss man nicht selbst definieren, sie werden von Rake bereits direkt angeboten. Sie heißen:
Als Gem
Alle diese Tasks können über ein entsprechendes
Die meisten dieser Tasks brauchen einige Extra-Informationen, die man in Rakes Dokumentation nachlesen kann. Siehe auch |
|||||||||||||||||||||||||||||