2009-04-07 18 views
60

In einfachen Worten, was macht Rake? Welche Zwecke hat es? Ich verstehe, es ist ein Build-Tool, aber ich schaue ein bisschen mehr Detail. (. Für einen Einfaltspinsel)Was genau ist Rake?

+2

[Dieses Video] (https://www.youtube.com/watch?v=AFPWDzHWjEY) ist wirklich sehr gut für das Verständnis der Harke auf der untersten Ebene. – filmnut

Antwort

42

Versuchen Martin Fowler Artikel über Rake für weitere Informationen:

http://martinfowler.com/articles/rake.html

Sein Oberbegriff ist:

Rake ist ein Build Sprache, ähnlich in Zweck zu machen und ant. Wie make und ant es ist eine Domain Specific Language, im Gegensatz zu diesen beiden ist es eine interne DSL in der Ruby-Sprache programmiert. In dieser Artikel stelle ich Rechen und einige interessante Dinge beschreiben, dass aus meiner Verwendung von Rake kam diese Website zu bauen: Abhängigkeitsmodelle, synthetisiert Aufgaben, bauen benutzerdefinierte Routinen und Debuggen des Build Skript.

Es gibt mehr Informationen über oder auch aus dem Projekt-Homepage verlinkt:

http://rake.rubyforge.org/

+0

Martin Fowler für den Sieg! –

6

Mit Rake können Sie Ruby-Code über eine nette Namespace-API ausführen. Ein Beispiel ist Rake db: migrieren. Sie können Aufgaben automatisch vor und nach anderen Aufgaben ausführen. Das ist alles.

56

Diese Antworten gehen davon aus, dass Sie wissen, was ein DSL ist oder mit Make oder Ant vertraut sind. Wenn das nicht der Fall ist, hier eine (vielleicht grob vereinfachende Antwort):

Rake ist ein Werkzeug, das Sie mit Ruby Projekten verwenden können. Sie können mit dem Ruby-Code "Tasks" definieren, die in der Befehlszeile ausgeführt werden können.

Rake kann downloaded and included in Rubin Projekten als Rubin Juwel sein.

Nach der Installation definieren Sie Aufgaben in einer Datei namens "Rakefile", die Sie Ihrem Projekt hinzufügen.

Wir nennen es ein „Build-Tool“, weil Rake mit einigen Bibliotheken kommt, dass es einfach zu tun, Aufgaben machen, die während der Erstellung gemeinsam sind/Prozess bereitstellen, wie file operations (Erstellen, Löschen, Umbenennen, & Verschieben von Dateien), Veröffentlichung Websites über FTP/SSH und running tests.

Für weitere Informationen, hier ist die Projektdokumentation: http://rake.rubyforge.org/