2007年 06月 11日

rake tasks for rubycocoa

http://rubycocoa.svn.sourceforge.net/viewvc/rubycocoa?view=rev&revision=1836

if ["update", "add", "create"].include? ARGV[0]
  # dupe rake
  ARGV.map! {|a| a.sub(/^¥+/, "-") }
  Rake.application[ARGV[0].to_sym].invoke
  exit
end

こんなん書いてしのいでみた。なんてキモいんだろう。これで rake から create したときは add も同時にされるようになり、add のときに Xcode project ファイルを指定する必要がなくなり、update のときもテンプレで最初から入ってる nib を更新するようになった。

rubycocoa new Sample
cd Sample
rake create +a hello AppController # ハイフンにすると rake が解釈しちゃうのでしかたなく……
vim AppController.rb
rake update AppController.rb
open English.lproj/MainMenu.nib
rake

update は updatenib とかいうタスク名にしないとわけわかんない気がする

rubycocoa 側の機能にするか、rake タスクにするかで悩むけれど、rake タスクにしとけば自分でいぢれるようになるので rubycocoa 側はそんなにいろんなことしなくていいかなぁと思う感じにしてみている。なので rake タスクも Rakefile 直書きでライブラリとかにしてない。