[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]