Windowsでrakeでrdocを自動生成したいとき
Windowsでrakeでrdocを自動生成しようとして、なかなかうまくいかなかったのでメモ。
普通にRakefileをこんな感じで書くと。。
RDOC = "rdoc" task :default => "doc" task "doc" do sh "#{RDOC} *.rb --main KCSV -c sjis" end
こんな感じのエラーになってしまう。
C:\ruby\kcsv>rake (in C:/ruby/kcsv) rdoc kcsv.rb --main KCSV -c sjis rake aborted! undefined method `exitstatus' for nil:NilClass C:/ruby/kcsv/rakefile:6 (See full trace by running task with --trace)
色々調べてみた結論。
→Windowsでrakeでバッチファイルを実行させるときは、".bat"を付けないといけない。
というわけで書き直して再度rakeしてみると、、、
RDOC = "rdoc.bat" task :default => "doc" task "doc" do sh "#{RDOC} kcsv.rb --main KCSV -c sjis" end
見事成功!
なかなか気付かんもんですなぁ。。気付けて良かったけど疲れた。。
C:\ruby\kcsv>rake (in C:/ruby/kcsv) rdoc.bat kcsv.rb --main KCSV -c sjis kcsv.rb: cccc....c..... Generating HTML... Files: 1 Classes: 5 Modules: 0 Methods: 9 Elapsed: 0.937s