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.)
Odpowiedzi:
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:
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/
Rake jest implementacją zależności opartego deklaratywnej programowania w Ruby języka programowania . Zasadniczo Rake jest dla Ruby tym tym, czym Make jest dla C, z istotną różnicą, że Make jest zewnętrznym DSL , podczas gdy Rake jest wewnętrznym DSL.
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.