Zum Inhalt springen

Rake (Software)

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 13. Dezember 2025 um 17:42 Uhr durch imported>SchlurcherBot (Bot: http → https).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Rake

[[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)|150px]]
Basisdaten

Maintainer Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Entwickler Jim Weirich
Erscheinungsjahr Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Aktuelle Version Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Betriebssystem plattformunabhängig
Programmier­sprache Ruby
Kategorie Programmierwerkzeug
Lizenz MIT-Lizenz
github.com/ruby/rake

Rake (deutsch: „Harke“) ist ein Software-Task-Management- und Build-Management-Werkzeug, das vor allem Programmierer nutzen, die in der Programmiersprache Ruby entwickeln. Mit Rake können Tasks (deutsch: „Aufgaben“) definiert und Abhängigkeiten beschrieben werden. Die Tasks können in Namespaces gruppiert werden.<ref>RAKE – Ruby Make. Abgerufen am 4. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Rake ähnelt SCons und make, weist im Vergleich zu diesen aber auch einige entscheidende Unterschiede auf. Das Werkzeug ist in Ruby geschrieben und die Rakefiles (äquivalent zu Makefiles von make) verwenden Ruby-Syntax. Der ursprüngliche Autor war Jim Weirich (1956–2014).

Rake verwendet Rubys anonyme Funktionsblocks, um verschiedene Tasks zu definieren, was die Verwendung von Ruby-Syntax ermöglicht. Es verfügt über eine Bibliothek von häufig verwendeten Tasks, zum Beispiel Funktionalität für typische Dateimanipulations-Tasks und eine Bibliothek für das Aufräumen von kompilierten Dateien (clean-Task). Ähnlich wie make kann Rake auch Tasks auf der Basis von Mustern synthetisieren, zum Beispiel um einen Compilations-Task aus Mustern für Dateinamensendungen zu erzeugen. Rake gehört heute zum Standardumfang von Ruby ab Version 1.9.<ref>Rak: Simple Example. Abgerufen am 4. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref><ref>Rake: Glossary. Abgerufen am 4. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Beispiele

Es folgt ein einfaches Rakefile zum Bauen eines in der Programmiersprache C entwickelten HelloWorld-Programms als Beispiel:

<syntaxhighlight lang="ruby">

 file 'hello.o' => ['hello.c'] do
   sh 'cc -c -o hello.o hello.c'
 end
 file 'hello' => ['hello.o'] do
   sh 'cc -o hello hello.o'
 end

</syntaxhighlight>

Das nächste Beispiel zeigt die Verwendung für ein einfaches Rezept:

<syntaxhighlight lang="ruby"> namespace :cake do

 desc 'make pancakes'
 task :pancake => [:flour,:milk,:egg,:baking_powder] do
    puts "sizzle"
 end
 task :butter do
   puts "cut 3 tablespoons of butter into tiny squares"
 end
 task :flour => :butter do
   puts "use hands to knead butter squares into 1Vorlage:Frac cup flour"
 end
 task :milk do
   puts "add 1Vorlage:Frac cup milk"
 end
 task :egg do
  puts "add 1 egg"
 end
 task :baking_powder do
  puts "add 3Vorlage:Frac teaspoons baking powder"
 end

end </syntaxhighlight>

Siehe auch

Weblinks

Einzelnachweise

<references />