2015/06/24

Rakeの基本的な使い方

RakeとはRubyで記述するビルドツールの一種。「タスク」という単位で特定の処理をひとまとめにすることができる。タスクの定義はRakefileに記述する。




Rakefileの記述方法


Rakeでは言語内DSLとして定義されたメソッド群を使ってタスクを定義する。試しに、簡単なタスクをRakefileに記述する。


desc 'Task1 description'
task :task1 do
puts 'task1 is executed'
end

desc 'Task2 description'
task :task2 => [:task3] do
puts 'task2 is executed'
end

desc 'Task3 description'
task :task3 do
puts 'task3 is executed'
end

descメソッドにはタスクの説明を記述する。'rake -T'を実行すると、タスク名とdescメソッドで記述した文字列の一覧が表示される


$ rake -T
rake task1 # Task1 description
rake task2 # Task2 description
rake task3 # Task3 description

taskメソッドにはタスクの処理を記述する。taskメソッドの引数としてシンボルを渡すとタスク名として扱われる。また、上記のtask2のように、taskメソッドにはHashを引数として渡すことができる。keyにタスク名、valueに依存するタスク名を指定することで、タスクに依存関係を持たせることができる。

結果を見たほうが早いので、'rake タスク名'でタスクを実行してみる。


$ rake task1
task1 is executed

$ rake task2
task3 is executed
task2 is executed

task2を実行すると,task2自身が実行される前にtask3が実行されている。task2の定義でtask3と依存にしていることを記述したため、その場合はtask2自身の実行前にtask3を実行する。




0 件のコメント:

コメントを投稿