ruby-reference-manual:2999
From: Sho Hashimoto <sho-h@n...>
Date: Sat, 17 Mar 2012 17:14:28 +0900
Subject: [ruby-reference-manual:2999] [るりまプロジェクト - Feature #1188][Rejected] doctreeの下にRakefileを置いてcerberusなどで常時コンパイルエラーをチェックできるようにしたい
Issue #1188 has been updated by Sho Hashimoto. Description updated Status changed from Open to Rejected どうせやるならbitclustでエラーか警告にすべきとその後考えなおしたので、コミットせずにrejectにします。 ---------------------------------------- Feature #1188: doctreeの下にRakefileを置いてcerberusなどで常時コンパイルエラーをチェックできるようにしたい https://bugs.ruby-lang.org/issues/1188#change-24672 Author: Sho Hashimoto Status: Rejected Priority: Normal Assignee: Category: Target version: reporter: ruby_version: =begin コンパイルエラーのチェックなどを常時やりたいと考えてます。先日私がコンパイルエラーのチェックをしたときには以下の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以外でも他の案などありましたら教えてください。 =end -- http://bugs.ruby-lang.org/ -- ML: ruby-reference-manual@m... Info: http://QuickML.com/