2011-01-11 3 views
3

私は10,000以上の生成クラスを持つこの宝石を書いています。 この宝石をインストールしている間、riとrdocをインストールするのはいつまでかかります。ruby​​で宝石のインストール中にrdocとri世代からいくつかのクラスを除外するには?

--no-riと--no-rdocをgem installコマンドに渡すことでriとrdocのインストールを無効にすることができますが、私がする必要があるのは何とかgemビルドプロセス中にrbのリストを指定することです残りのファイルを除外します。

gem installコマンドでriとrdocを自動的に生成するようにしたいのですが、

私だけに

Rake::RDocTask.new do |rdoc| 
    files =['README.rdoc', 'LICENSE', 'lib/myclass.rb'] 
    rdoc.rdoc_files.add(files) 
    rdoc.main = "README.rdoc" # page to start on 
    rdoc.title = "mobilesrepo Docs" 
    rdoc.rdoc_dir = 'doc/rdoc' # rdoc output folder 
    rdoc.options << '--line-numbers' 
end 

を試してみましたRDOCと里世代のためにmyclass.rbまだ宝石はすべて私* .rbのファイルに対してRDOCとRIを生成するには、コマンドの試行をインストールします。

ご協力いただければ幸いです。

+0

残念ながら、:nodoc:allコマンドもここでは役に立ちません – Reza

答えて

3

Rake::RDocTaskタスクは、rubygemsとは関係ありません。あなたのコードはdoc/rdocプロジェクトディレクトリの

 
% rake rdoc 

コマンドでhtmlを生成するだけです。

あなたの宝石の仕様を編集し、宝石のインストールプロセス中にRDOCのための範囲を限定するために:

require 'rake/gempackagetask' 
spec = Gem::Specification.new {|i| 
    ... 
    i.rdoc_options += ['-m', 'README.rdoc', '-x', 'lib/(?!myclass.rb).*', 
        'lib/myclass.rb', 'LICENSE', 'README.rdoc'] 
    i.extra_rdoc_files = [] 
    ... 
} 

Rake::GemPackageTask.new(spec).define 

RubyGemsのは、自動的にRDOCのためlibパスを追加し、我々がする必要があるので、奇妙な正規表現lib/(?!myclass.rb).*が、必要とされます

  1. 除外(-xオプション)。
  2. lib/myclass.rbファイルを存続させる。

これが役に立ちます。

+0

これは後でテストします。ありがとう – Reza