components/ruby/patches/02-code_objects-html_generator.patch
author Johnny Cheung <Johnny.Cheung@Sun.COM>
Fri, 15 Jun 2012 00:10:31 -0700
branchs11-sru
changeset 2291 b0bb4aa104b6
parent 2248 c2beb07524a9
permissions -rw-r--r--
7005654 qperf: 32bit only: qperf fails in all RC/UD streaming tests
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2248
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
     1
--- ruby-1.8.7-p357.orig/lib/rdoc/code_objects.rb	2007-02-12 15:01:19.000000000 -0800
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
     2
+++ ruby-1.8.7-p357/lib/rdoc/code_objects.rb	2012-02-09 12:51:13.913971000 -0800
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
     3
@@ -345,6 +345,14 @@ module RDoc
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
     4
       @classes.each_value {|c| yield c}
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
     5
     end
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
     6
 
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
     7
+    # New method for Solaris, to provide a sorted array.
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
     8
+    # Return array of all modules and classes, each sorted by name.
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
     9
+
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    10
+    def sorted_modules_classes
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    11
+      @modules.values.sort_by { |m| m.name } + 
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    12
+      @classes.values.sort_by { |c| c.name }
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    13
+    end
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    14
+
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    15
     def each_method
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    16
       @method_list.each {|m| yield m}
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    17
     end
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    18
--- ruby-1.8.7-p357.orig/lib/rdoc/generators/html_generator.rb	2007-02-12 15:01:19.000000000 -0800
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    19
+++ ruby-1.8.7-p357/lib/rdoc/generators/html_generator.rb	2012-02-09 16:24:17.290851000 -0800
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    20
@@ -1256,14 +1256,26 @@ module Generators
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    21
         @files << HtmlFile.new(toplevel, @options, FILE_DIR)
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    22
       end
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    23
 
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    24
-      RDoc::TopLevel.all_classes_and_modules.each do |cls|
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    25
+      # Solaris fix:  sort the top level classes and modules,
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    26
+      # to provide fixed ordering for creation of html files,
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    27
+      # since the file names are numbered sequentially.  This is 
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    28
+      # needed for creating a deterministic set of file names for 
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    29
+      # html document files generated by ruby.
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    30
+      sorted_classes_and_modules =
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    31
+        RDoc::TopLevel.all_classes_and_modules.sort_by { |x| x.full_name }
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    32
+
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    33
+      sorted_classes_and_modules.each do |cls|
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    34
         build_class_list(cls, @files[0], CLASS_DIR)
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    35
       end
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    36
     end
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    37
 
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    38
     def build_class_list(from, html_file, class_dir)
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    39
       @classes << HtmlClass.new(from, html_file, class_dir, @options)
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    40
-      from.each_classmodule do |mod|
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    41
+
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    42
+      # Solaris fix:  sorts modules and classes by name, to provide
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    43
+      # a fixed set of html file pathnames, which are numbered
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    44
+      # sequentially.
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    45
+      from.sorted_modules_classes.each do |mod|
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    46
         build_class_list(mod, html_file, class_dir)
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    47
       end
c2beb07524a9 7127211 Problem with utility/ruby
April Chin <april.chin@oracle.com>
parents:
diff changeset
    48
     end