October 25, 2007

rdocで生成されるyamlのファイルがへん? (続き)

えらく時間がかかってしまったけど、とりあえず先日の問題の結果だけ。

diff -ruN ruby-1.8.5.orig/lib/rdoc/rdoc.rb ruby-1.8.5/lib/rdoc/rdoc.rb
--- ruby-1.8.5.orig/lib/rdoc/rdoc.rb 2006-08-05 07:00:25.000000000 +0900
+++ ruby-1.8.5/lib/rdoc/rdoc.rb 2007-10-25 18:17:03.000000000 +0900
@@ -136,7 +136,7 @@
result = []

patterns.split.each do |patt|
- candidates = Dir.glob(File.join(in_dir, patt))
+ candidates = Dir.glob(File.join(in_dir, patt)).sort
result.concat(normalized_file_list(options, candidates))
end
result
@@ -184,7 +184,7 @@
# we may well contain subdirectories which must
# be tested for .document files
def list_files_in_directory(dir, options)
- normalized_file_list(options, Dir.glob(File.join(dir, "*")), false, optio
ns.exclude)
+ normalized_file_list(options, Dir.glob(File.join(dir, "*")).sort, false,
options.exclude)
end

こんな感じで、.documentの結果および与えられたパスの結果を一定にすることで、回避。適度に:nodoc::startdoc::stopdoc:で制御するとあってしかるべきファイルまでなくなる副作用があるぽいので、rdocそのものを大幅に改良しないとだめな気がする。問題の発生する状況からして、あまりそのへん考えられていなかったような気がするけど。

No comments: