[英]How to exclude some classes from rdoc and ri generation during a gem installation in ruby?
我寫過這個有超過10,000個生成類的gem。 在安裝這個gem時,需要永遠安裝ri和rdoc。
我知道我可以通過將--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
僅包含myclass.rb用於rdoc和ri生成但仍然gem install命令嘗試為我的所有* .rb文件生成rdoc和ri。
任何幫助,將不勝感激。
Rake::RDocTask
任務與rubygems無關。 你的代碼只會生成html
% rake rdoc
doc / rdoc項目目錄中的命令。
要在gem安裝過程中限制rdoc的范圍,請編輯gem的規范:
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
奇怪的正則表達式lib/(?!myclass.rb).*
/(?!myclass.rb)。*是必需的,因為rubygems會自動為rdoc添加lib
路徑,我們需要
-x
選項); lib/myclass.rb
文件存活。 希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.