Rake
Rake on erityisesti tietokoneohjelmistojen kääntämiseen ja asentamiseen suunniteltu työkalu hieman samaan tapaan kuin Make ja SCons. Se on kirjoitetu Ruby-kielellä, ja sen Makefile-tiedostoa vastaava Rakefile käyttää Ruby-syntaksia. Raken alkuperäinen kehittäjä on Jim Weirich.
Rake käyttää Rubyn lohkoja erilaisten tehtävien (tasks) määrittelyyn. Useimmille tyypillisille tehtäville on jo olemassa valmiita tehtäviä, kuten tiedostojen manipulointiin, käännöstuotosten poistoon jne.
Rakefile-tiedostot muodostavat eräänlaisen DSL:n Ruby-kielen päälle, jota on verrattain helppo käyttää. Raken suurin vahvuus onkin siinä, että koska tiedostojen käyttämä kieli on täysiverinen ohjelmointikieli, sen ilmaisuvoima on paljon suurempi kuin monien muiden vastaavien työkalujen. Lisäksi käyttäjän ei tarvitse opetella uutta kieltä mutkikkaiden toimenpiteiden suorittamiseen.
Esimerkki
[muokkaa | muokkaa wikitekstiä]Oheinen esimerkki on Jim Weirichin Rake-esityksestä Building with Rake.
task :build => [:generate_html, :copy_images]
task :generate_html => [:create_directories] do
system %{./runwpb rake.wpb}
end
task :copy_images => [:create_directories] do
File.copy "pics/rake.gif", "html/images/rake.gif"
File.copy "pics/target.jpg", "html/images/target.jpg"
end
task :create_directories do
File.makedirs "html"
File.makedirs "html/images"
end
Säännöistä näkee, että esimerkiksi :build vaatii tehtävien :generate_html ja :copy_images suorittamisen, ja :generate_html edelleen vaatii :create_directories -tehtävän suorittamisen.
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]- http://rake.rubyforge.org/ (Arkistoitu – Internet Archive)
- Using the Rake Build Language, Martin Fowler
- Building with Rake, Jim Weirich (Arkistoitu – Internet Archive)