Czym właściwie jest Rake?

80

Krótko mówiąc, czym zajmuje się Rake? Jakie ma cele? Rozumiem, że to narzędzie do kompilacji, ale szukam bardziej szczegółowych informacji. (Dla prostaka.)

Pominąć
źródło
2
Ten film jest naprawdę doskonały do ​​zrozumienia rake na najbardziej podstawowym poziomie.
filmnut

Odpowiedzi:

54

Przeczytaj artykuł Martina Fowlera na temat Rake, aby uzyskać więcej informacji:

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

Jego wstęp to:

Rake to język budowania, podobny do tworzenia i mrówek. Podobnie jak make i ant, jest to język specyficzny dla domeny, w przeciwieństwie do tych dwóch jest to wewnętrzny DSL zaprogramowany w języku Ruby. W tym artykule przedstawiam rake i opisuję kilka interesujących rzeczy, które wyszły z użycia rake do budowy tej witryny internetowej: modele zależności, zsyntetyzowane zadania, niestandardowe procedury budowania i debugowanie skryptu budowania.

Więcej informacji można znaleźć na stronie głównej projektu lub na jej linku:

http://rake.rubyforge.org/

David M.
źródło
76

Te odpowiedzi zakładają, że wiesz, czym jest DSL lub znasz Make lub Ant. Jeśli tak nie jest, oto (być może rażąco uproszczona odpowiedź):

Rake to narzędzie, którego możesz używać z projektami Ruby . Pozwala na użycie kodu ruby ​​do zdefiniowania "zadań", które mogą być wykonywane w linii poleceń.

Rake można pobrać i dołączyć do projektów ruby ​​jako ruby ​​gem.

Po zainstalowaniu definiujesz zadania w pliku o nazwie „ Rakefile ”, który dodajesz do swojego projektu.

Nazywamy to „narzędziem do budowania”, ponieważ Rake zawiera biblioteki, które ułatwiają wykonywanie zadań typowych podczas procesu budowania / wdrażania, takich jak operacje na plikach (tworzenie, usuwanie, zmiana nazwy i przenoszenie plików), publikowanie witryn przez FTP / SSH i uruchamianie testów .

Więcej informacji można znaleźć w dokumentacji projektu: http://rake.rubyforge.org/

bryanbraun
źródło
11

Rake umożliwia wykonanie kodu Rubiego poprzez ładny interfejs API przestrzeni nazw. Przykładem jest rake db: migrate. Możesz uruchamiać zadania automatycznie przed i po innych zadaniach. To wszystko.

August Lilleaas
źródło
Uznanie za udostępnienie tego, w czym jest używany, zamiast odpowiedzi technicznej
Korayem