Rake でタスク名がコロンで区切られてるようなものがある。それを作ってみる。
今回は rake -T と実行したら、次のような出力を返すタスクを例にする。
$ rake -T $ rake -T rake setup # セットアップを行なう rake setup:gem # Gem をインストールする rake setup:pods # Pods をインストールする
Rakefile は次の通り:
#
# セットアップ用のタスク
#
desc "セットアップを行なう"
task :setup => %w[
setup:gem
setup:pods
]
namespace :setup do
desc "Gem をインストールする"
task :gem do
sh "bundle -j4 --path vendor/bundle"
end
desc "Pods をインストールする"
task :pods do
sh "bundle exec pod install"
end
end
これで、rake setup:gem と打てば Gem のインストールが行なわれるし、rake setup:pods で Pods のインストールが行なえる。
setup
という namespace
を作ってやるのがミソ。
あと setup namespace のタスクを一括で実行できるよう setup タスクも用意している。
同種のタスクを作る時に、見やすく・理解しやすく、使いやすい形として namespace は便利。
No comments:
Post a Comment