Rake

Wikipedia
Loikkaa: valikkoon, hakuun
Tämä artikkeli käsittelee tietotekniikan työkalua. Rake on myös entinen rautakauppa.

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ä]