ruby-reference-manual:1355
From: Sho Hashimoto <redmine@r...>
Date: Sat, 21 Feb 2009 16:29:33 +0900
Subject: [ruby-reference-manual:1355] [Feature #1188] doctreeの下にRakefileを置いてcerberusなどで常時コンパイルエラーをチェックできるようにしたい
Feature #1188: doctreeの下にRakefileを置いてcerberusなどで常時コンパイルエラーをチェックできるようにしたい http://redmine.ruby-lang.org/issues/show/1188 起票者: Sho Hashimoto ステータス: Open, 優先度: Normal コンパイルエラーのチェックなどを常時やりたいと考えてます。先日私がコンパイルエラーのチェックをしたときには以下のRakefileを作成しました。 require 'rake' require 'bitclust' module BitClust class RDCompiler attr_accessor :path private def protect(src) yield rescue => e raise "compile error: #{e.message} in #{self.path}" end end end desc "compile errorの有無を確認します" task "check:compile" do db_path = ENV["db_path"] version = ENV["version"] || "1.9.1" db = BitClust::MethodDatabase.new(db_path) umap = BitClust::URLMapper.new(:base_url => 'http://example.com', :cgi_url => 'http://example.com/view') compiler = BitClust::RDCompiler.new(umap, 3, 1, {:force => true, :database => db}) Dir.glob("refm/api/src/**/*") do |path| if !File.file?(path) next end compiler.path = path begin lib, = BitClust::RRDParser.parse(File.open(path), 'test', {"version" => version}) lib.each_class do |c| c.entries.each do |e| compiler.compile(e.source) end end rescue BitClust::ParseError # TODO: このタスク中のincludeの処理が不完全なため、_builtin/ARGF # などincludeしてるファイルがチェックできていないのを修正する。 # 今はBitClust::ParseErrorになるため、rescueして先に進んでいる。 end end end 以下のようにコマンドを実行して使っています。(bitclustでdbを作っておかないとつかえません) $ rake check:compile version=1.9.1 db_path=/path/to/db-1_9_1 上記のRakefileをdoctreeの直下にコミットしたいと考えてるのですがどうでしょうか。 また、コミットが問題ない場合、Rakefile内のTODOの消化と実行の仕方をcerberusの実行に合わせる形で修正したいので方針を相談したいと考えています。 # cerberusはrakeを実行した時に"0 failures, 0 errors"という出力を期待してるようなので、今のままではダメなのでした。orz Rakefile以外でも他の案などありましたら教えてください。 ---------------------------------------- http://redmine.ruby-lang.org -- ML: ruby-reference-manual@m... 使い方: http://QuickML.com/
-> 1355 2009-02-21 08:29 [redmine@r... ] [Feature #1188] doctreeの下にRakefileを置いてcerberusなどで常時コンパイルエラーをチェックできるようにしたい 1396 2009-04-18 16:32 ┗[redmine@r... ]