2012-02-23 10 views
2

デフォルトでは、Rakeは最初に例外が発生したときに停止します。make -k(--keep-going)に相当するRake

make -kと同等のコマンドラインはないようですが、それをプログラマティカルに行う方法はありますか?

+0

@jmonteiroが提案した同様の方法で問題を解決しました。 ルール '.o' => ['.c'] do | t | begin sh "cc#{t.source} -c -o#{t.name}"レスキューRuntimeError => e keep_goingの場合は? 次0 else raise e end end end – hausen

答えて

1

残念ながら、rakeには--keep-goingがありません(これは問題ありません)。私が考えることができる唯一の方法は、あなたのRakefileをbegin; rescue; endでラップすることですが、それは "続ける"ことはありません - それはあなたのrakeの実行結果が0であることを保証します。すなわち例外を無視して、あなたの問題を解決しようとしないでください - あなたはraise何かあなたはすでにあなたのアルゴリズムの流れを変えたとき以来、私は「続ける」ことを信じ

begin 
    # Former Rakefile code goes here 
rescue 
    puts $!.inspect 
end 

することはできません。