Référence rapide

Aide-mémoire outil de build Rake

Un guide de référence rapide pour Ruby Rake : définition de tâches, espaces de noms, dépendances, arguments et tâches de fichiers.

· Publié le

Rake est un outil de build similaire à Make pour Ruby, utilisant la syntaxe Ruby pour définir tâches et dépendances.

Syntaxe de base des tâches

Dans le Rakefile :

desc "Run all project test suites"
task :test do
  puts "Running tests..."
end

# Tâche avec dépendances préalables
task deploy: [:test, :build] do
  puts "Deploying application..."
end

# Tâche par défaut invoquée avec un simple `rake`
task default: :test

Espaces de noms (Namespaces)

Grouper logiquement les tâches liées :

namespace :db do
  desc "Run database migrations"
  task :migrate do
    puts "Migrating database..."
  end

  desc "Rollback previous migration"
  task :rollback do
    puts "Rolling back..."
  end
end

# Exécuter dans le terminal : rake db:migrate

Arguments de tâches

desc "Send digest email to user by ID"
task :send_digest, [:user_id] do |_, args|
  puts "Sending digest to user #{args[:user_id]}"
end

# Exécuter dans le terminal : rake send_digest[42]

Tâches basées sur des fichiers (File Tasks)

Les file tasks ne s'exécutent que si les fichiers cibles n'existent pas ou sont obsolètes :

file "dist/bundle.js" => ["src/app.js", "src/utils.js"] do
  sh "esbuild src/app.js --bundle --outfile=dist/bundle.js"
end

Références

Sujets associés