craigmarksmith-rake 0.8.3.100

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. data/CHANGES +427 -0
  2. data/MIT-LICENSE +21 -0
  3. data/README +196 -0
  4. data/Rakefile +416 -0
  5. data/TODO +20 -0
  6. data/bin/rake +31 -0
  7. data/doc/command_line_usage.rdoc +102 -0
  8. data/doc/example/Rakefile1 +38 -0
  9. data/doc/example/Rakefile2 +35 -0
  10. data/doc/example/a.c +6 -0
  11. data/doc/example/b.c +6 -0
  12. data/doc/example/main.c +11 -0
  13. data/doc/glossary.rdoc +51 -0
  14. data/doc/jamis.rb +591 -0
  15. data/doc/proto_rake.rdoc +127 -0
  16. data/doc/rake.1.gz +0 -0
  17. data/doc/rakefile.rdoc +534 -0
  18. data/doc/rational.rdoc +151 -0
  19. data/doc/release_notes/rake-0.4.14.rdoc +23 -0
  20. data/doc/release_notes/rake-0.4.15.rdoc +35 -0
  21. data/doc/release_notes/rake-0.5.0.rdoc +53 -0
  22. data/doc/release_notes/rake-0.5.3.rdoc +78 -0
  23. data/doc/release_notes/rake-0.5.4.rdoc +46 -0
  24. data/doc/release_notes/rake-0.6.0.rdoc +141 -0
  25. data/doc/release_notes/rake-0.7.0.rdoc +119 -0
  26. data/doc/release_notes/rake-0.7.1.rdoc +59 -0
  27. data/doc/release_notes/rake-0.7.2.rdoc +121 -0
  28. data/doc/release_notes/rake-0.7.3.rdoc +47 -0
  29. data/doc/release_notes/rake-0.8.0.rdoc +114 -0
  30. data/doc/release_notes/rake-0.8.2.rdoc +165 -0
  31. data/doc/release_notes/rake-0.8.3.rdoc +112 -0
  32. data/doc/release_notes/rake-0.8.4.rdoc +147 -0
  33. data/install.rb +88 -0
  34. data/lib/rake/classic_namespace.rb +8 -0
  35. data/lib/rake/clean.rb +33 -0
  36. data/lib/rake/contrib/compositepublisher.rb +24 -0
  37. data/lib/rake/contrib/ftptools.rb +153 -0
  38. data/lib/rake/contrib/publisher.rb +75 -0
  39. data/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  40. data/lib/rake/contrib/sshpublisher.rb +47 -0
  41. data/lib/rake/contrib/sys.rb +209 -0
  42. data/lib/rake/gempackagetask.rb +97 -0
  43. data/lib/rake/loaders/makefile.rb +42 -0
  44. data/lib/rake/packagetask.rb +184 -0
  45. data/lib/rake/rake_test_loader.rb +5 -0
  46. data/lib/rake/rdoctask.rb +209 -0
  47. data/lib/rake/ruby182_test_unit_fix.rb +23 -0
  48. data/lib/rake/runtest.rb +23 -0
  49. data/lib/rake/tasklib.rb +23 -0
  50. data/lib/rake/testtask.rb +161 -0
  51. data/lib/rake/win32.rb +55 -0
  52. data/lib/rake.rb +2519 -0
  53. data/test/capture_stdout.rb +26 -0
  54. data/test/check_expansion.rb +5 -0
  55. data/test/contrib/test_sys.rb +47 -0
  56. data/test/data/chains/Rakefile +15 -0
  57. data/test/data/default/Rakefile +19 -0
  58. data/test/data/dryrun/Rakefile +22 -0
  59. data/test/data/file_creation_task/Rakefile +33 -0
  60. data/test/data/imports/Rakefile +19 -0
  61. data/test/data/imports/deps.mf +1 -0
  62. data/test/data/multidesc/Rakefile +17 -0
  63. data/test/data/namespace/Rakefile +57 -0
  64. data/test/data/rakelib/test1.rb +3 -0
  65. data/test/data/rbext/rakefile.rb +3 -0
  66. data/test/data/sample.mf +14 -0
  67. data/test/data/statusreturn/Rakefile +8 -0
  68. data/test/data/unittest/Rakefile +1 -0
  69. data/test/filecreation.rb +32 -0
  70. data/test/functional.rb +15 -0
  71. data/test/in_environment.rb +30 -0
  72. data/test/rake_test_setup.rb +24 -0
  73. data/test/reqfile.rb +3 -0
  74. data/test/reqfile2.rb +3 -0
  75. data/test/session_functional.rb +339 -0
  76. data/test/shellcommand.rb +3 -0
  77. data/test/test_application.rb +690 -0
  78. data/test/test_clean.rb +14 -0
  79. data/test/test_definitions.rb +85 -0
  80. data/test/test_earlytime.rb +35 -0
  81. data/test/test_extension.rb +63 -0
  82. data/test/test_file_creation_task.rb +62 -0
  83. data/test/test_file_task.rb +143 -0
  84. data/test/test_filelist.rb +623 -0
  85. data/test/test_fileutils.rb +251 -0
  86. data/test/test_ftp.rb +59 -0
  87. data/test/test_invocation_chain.rb +81 -0
  88. data/test/test_makefile_loader.rb +26 -0
  89. data/test/test_multitask.rb +45 -0
  90. data/test/test_namespace.rb +55 -0
  91. data/test/test_package_task.rb +118 -0
  92. data/test/test_pathmap.rb +210 -0
  93. data/test/test_rake.rb +41 -0
  94. data/test/test_rdoc_task.rb +88 -0
  95. data/test/test_require.rb +35 -0
  96. data/test/test_rules.rb +349 -0
  97. data/test/test_task_arguments.rb +89 -0
  98. data/test/test_task_manager.rb +173 -0
  99. data/test/test_tasklib.rb +12 -0
  100. data/test/test_tasks.rb +374 -0
  101. data/test/test_test_task.rb +77 -0
  102. data/test/test_top_level_functions.rb +86 -0
  103. data/test/test_win32.rb +72 -0
  104. metadata +186 -0
@@ -0,0 +1,97 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Define a package task library to aid in the definition of GEM
4
+ # packages.
5
+
6
+ require 'rubygems'
7
+ require 'rake'
8
+ require 'rake/packagetask'
9
+ require 'rubygems/user_interaction'
10
+ require 'rubygems/builder'
11
+
12
+ module Rake
13
+
14
+ # Create a package based upon a Gem spec. Gem packages, as well as
15
+ # zip files and tar/gzipped packages can be produced by this task.
16
+ #
17
+ # In addition to the Rake targets generated by PackageTask, a
18
+ # GemPackageTask will also generate the following tasks:
19
+ #
20
+ # [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.gem"</b>]
21
+ # Create a Ruby GEM package with the given name and version.
22
+ #
23
+ # Example using a Ruby GEM spec:
24
+ #
25
+ # require 'rubygems'
26
+ #
27
+ # spec = Gem::Specification.new do |s|
28
+ # s.platform = Gem::Platform::RUBY
29
+ # s.summary = "Ruby based make-like utility."
30
+ # s.name = 'rake'
31
+ # s.version = PKG_VERSION
32
+ # s.requirements << 'none'
33
+ # s.require_path = 'lib'
34
+ # s.autorequire = 'rake'
35
+ # s.files = PKG_FILES
36
+ # s.description = <<EOF
37
+ # Rake is a Make-like program implemented in Ruby. Tasks
38
+ # and dependencies are specified in standard Ruby syntax.
39
+ # EOF
40
+ # end
41
+ #
42
+ # Rake::GemPackageTask.new(spec) do |pkg|
43
+ # pkg.need_zip = true
44
+ # pkg.need_tar = true
45
+ # end
46
+ #
47
+ class GemPackageTask < PackageTask
48
+ # Ruby GEM spec containing the metadata for this package. The
49
+ # name, version and package_files are automatically determined
50
+ # from the GEM spec and don't need to be explicitly provided.
51
+ attr_accessor :gem_spec
52
+
53
+ # Create a GEM Package task library. Automatically define the gem
54
+ # if a block is given. If no block is supplied, then +define+
55
+ # needs to be called to define the task.
56
+ def initialize(gem_spec)
57
+ init(gem_spec)
58
+ yield self if block_given?
59
+ define if block_given?
60
+ end
61
+
62
+ # Initialization tasks without the "yield self" or define
63
+ # operations.
64
+ def init(gem)
65
+ super(gem.name, gem.version)
66
+ @gem_spec = gem
67
+ @package_files += gem_spec.files if gem_spec.files
68
+ end
69
+
70
+ # Create the Rake tasks and actions specified by this
71
+ # GemPackageTask. (+define+ is automatically called if a block is
72
+ # given to +new+).
73
+ def define
74
+ super
75
+ task :package => [:gem]
76
+ desc "Build the gem file #{gem_file}"
77
+ task :gem => ["#{package_dir}/#{gem_file}"]
78
+ file "#{package_dir}/#{gem_file}" => [package_dir] + @gem_spec.files do
79
+ when_writing("Creating GEM") {
80
+ Gem::Builder.new(gem_spec).build
81
+ verbose(true) {
82
+ mv gem_file, "#{package_dir}/#{gem_file}"
83
+ }
84
+ }
85
+ end
86
+ end
87
+
88
+ def gem_file
89
+ if @gem_spec.platform == Gem::Platform::RUBY
90
+ "#{package_name}.gem"
91
+ else
92
+ "#{package_name}-#{@gem_spec.platform}.gem"
93
+ end
94
+ end
95
+
96
+ end
97
+ end
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ module Rake
4
+
5
+ # Makefile loader to be used with the import file loader.
6
+ class MakefileLoader
7
+ SPACE_MARK = "__&NBSP;__"
8
+
9
+ # Load the makefile dependencies in +fn+.
10
+ def load(fn)
11
+ open(fn) do |mf|
12
+ lines = mf.read
13
+ lines.gsub!(/\\ /, SPACE_MARK)
14
+ lines.gsub!(/#[^\n]*\n/m, "")
15
+ lines.gsub!(/\\\n/, ' ')
16
+ lines.split("\n").each do |line|
17
+ process_line(line)
18
+ end
19
+ end
20
+ end
21
+
22
+ private
23
+
24
+ # Process one logical line of makefile data.
25
+ def process_line(line)
26
+ file_tasks, args = line.split(':')
27
+ return if args.nil?
28
+ dependents = args.split.map { |d| respace(d) }
29
+ file_tasks.strip.split.each do |file_task|
30
+ file_task = respace(file_task)
31
+ file file_task => dependents
32
+ end
33
+ end
34
+
35
+ def respace(str)
36
+ str.gsub(/#{SPACE_MARK}/, ' ')
37
+ end
38
+ end
39
+
40
+ # Install the handler
41
+ Rake.application.add_loader('mf', MakefileLoader.new)
42
+ end
@@ -0,0 +1,184 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Define a package task libarary to aid in the definition of
4
+ # redistributable package files.
5
+
6
+ require 'rake'
7
+ require 'rake/tasklib'
8
+
9
+ module Rake
10
+
11
+ # Create a packaging task that will package the project into
12
+ # distributable files (e.g zip archive or tar files).
13
+ #
14
+ # The PackageTask will create the following targets:
15
+ #
16
+ # [<b>:package</b>]
17
+ # Create all the requested package files.
18
+ #
19
+ # [<b>:clobber_package</b>]
20
+ # Delete all the package files. This target is automatically
21
+ # added to the main clobber target.
22
+ #
23
+ # [<b>:repackage</b>]
24
+ # Rebuild the package files from scratch, even if they are not out
25
+ # of date.
26
+ #
27
+ # [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.tgz"</b>]
28
+ # Create a gzipped tar package (if <em>need_tar</em> is true).
29
+ #
30
+ # [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.tar.gz"</b>]
31
+ # Create a gzipped tar package (if <em>need_tar_gz</em> is true).
32
+ #
33
+ # [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.tar.bz2"</b>]
34
+ # Create a bzip2'd tar package (if <em>need_tar_bz2</em> is true).
35
+ #
36
+ # [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.zip"</b>]
37
+ # Create a zip package archive (if <em>need_zip</em> is true).
38
+ #
39
+ # Example:
40
+ #
41
+ # Rake::PackageTask.new("rake", "1.2.3") do |p|
42
+ # p.need_tar = true
43
+ # p.package_files.include("lib/**/*.rb")
44
+ # end
45
+ #
46
+ class PackageTask < TaskLib
47
+ # Name of the package (from the GEM Spec).
48
+ attr_accessor :name
49
+
50
+ # Version of the package (e.g. '1.3.2').
51
+ attr_accessor :version
52
+
53
+ # Directory used to store the package files (default is 'pkg').
54
+ attr_accessor :package_dir
55
+
56
+ # True if a gzipped tar file (tgz) should be produced (default is false).
57
+ attr_accessor :need_tar
58
+
59
+ # True if a gzipped tar file (tar.gz) should be produced (default is false).
60
+ attr_accessor :need_tar_gz
61
+
62
+ # True if a bzip2'd tar file (tar.bz2) should be produced (default is false).
63
+ attr_accessor :need_tar_bz2
64
+
65
+ # True if a zip file should be produced (default is false)
66
+ attr_accessor :need_zip
67
+
68
+ # List of files to be included in the package.
69
+ attr_accessor :package_files
70
+
71
+ # Tar command for gzipped or bzip2ed archives. The default is 'tar'.
72
+ attr_accessor :tar_command
73
+
74
+ # Zip command for zipped archives. The default is 'zip'.
75
+ attr_accessor :zip_command
76
+
77
+ # Create a Package Task with the given name and version.
78
+ def initialize(name=nil, version=nil)
79
+ init(name, version)
80
+ yield self if block_given?
81
+ define unless name.nil?
82
+ end
83
+
84
+ # Initialization that bypasses the "yield self" and "define" step.
85
+ def init(name, version)
86
+ @name = name
87
+ @version = version
88
+ @package_files = Rake::FileList.new
89
+ @package_dir = 'pkg'
90
+ @need_tar = false
91
+ @need_tar_gz = false
92
+ @need_tar_bz2 = false
93
+ @need_zip = false
94
+ @tar_command = 'tar'
95
+ @zip_command = 'zip'
96
+ end
97
+
98
+ # Create the tasks defined by this task library.
99
+ def define
100
+ fail "Version required (or :noversion)" if @version.nil?
101
+ @version = nil if :noversion == @version
102
+
103
+ desc "Build all the packages"
104
+ task :package
105
+
106
+ desc "Force a rebuild of the package files"
107
+ task :repackage => [:clobber_package, :package]
108
+
109
+ desc "Remove package products"
110
+ task :clobber_package do
111
+ rm_r package_dir rescue nil
112
+ end
113
+
114
+ task :clobber => [:clobber_package]
115
+
116
+ [
117
+ [need_tar, tgz_file, "z"],
118
+ [need_tar_gz, tar_gz_file, "z"],
119
+ [need_tar_bz2, tar_bz2_file, "j"]
120
+ ].each do |(need, file, flag)|
121
+ if need
122
+ task :package => ["#{package_dir}/#{file}"]
123
+ file "#{package_dir}/#{file}" => [package_dir_path] + package_files do
124
+ chdir(package_dir) do
125
+ sh %{#{@tar_command} #{flag}cvf #{file} #{package_name}}
126
+ end
127
+ end
128
+ end
129
+ end
130
+
131
+ if need_zip
132
+ task :package => ["#{package_dir}/#{zip_file}"]
133
+ file "#{package_dir}/#{zip_file}" => [package_dir_path] + package_files do
134
+ chdir(package_dir) do
135
+ sh %{#{@zip_command} -r #{zip_file} #{package_name}}
136
+ end
137
+ end
138
+ end
139
+
140
+ directory package_dir
141
+
142
+ file package_dir_path => @package_files do
143
+ mkdir_p package_dir rescue nil
144
+ @package_files.each do |fn|
145
+ f = File.join(package_dir_path, fn)
146
+ fdir = File.dirname(f)
147
+ mkdir_p(fdir) if !File.exist?(fdir)
148
+ if File.directory?(fn)
149
+ mkdir_p(f)
150
+ else
151
+ rm_f f
152
+ safe_ln(fn, f)
153
+ end
154
+ end
155
+ end
156
+ self
157
+ end
158
+
159
+ def package_name
160
+ @version ? "#{@name}-#{@version}" : @name
161
+ end
162
+
163
+ def package_dir_path
164
+ "#{package_dir}/#{package_name}"
165
+ end
166
+
167
+ def tgz_file
168
+ "#{package_name}.tgz"
169
+ end
170
+
171
+ def tar_gz_file
172
+ "#{package_name}.tar.gz"
173
+ end
174
+
175
+ def tar_bz2_file
176
+ "#{package_name}.tar.bz2"
177
+ end
178
+
179
+ def zip_file
180
+ "#{package_name}.zip"
181
+ end
182
+ end
183
+
184
+ end
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Load the test files from the command line.
4
+
5
+ ARGV.each { |f| load f unless f =~ /^-/ }
@@ -0,0 +1,209 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rake'
4
+ require 'rake/tasklib'
5
+
6
+ module Rake
7
+
8
+ # Create a documentation task that will generate the RDoc files for
9
+ # a project.
10
+ #
11
+ # The RDocTask will create the following targets:
12
+ #
13
+ # [<b><em>rdoc</em></b>]
14
+ # Main task for this RDOC task.
15
+ #
16
+ # [<b>:clobber_<em>rdoc</em></b>]
17
+ # Delete all the rdoc files. This target is automatically
18
+ # added to the main clobber target.
19
+ #
20
+ # [<b>:re<em>rdoc</em></b>]
21
+ # Rebuild the rdoc files from scratch, even if they are not out
22
+ # of date.
23
+ #
24
+ # Simple Example:
25
+ #
26
+ # Rake::RDocTask.new do |rd|
27
+ # rd.main = "README.rdoc"
28
+ # rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
29
+ # end
30
+ #
31
+ # The +rd+ object passed to the block is an RDocTask object. See the
32
+ # attributes list for the RDocTask class for available customization options.
33
+ #
34
+ # == Specifying different task names
35
+ #
36
+ # You may wish to give the task a different name, such as if you are
37
+ # generating two sets of documentation. For instance, if you want to have a
38
+ # development set of documentation including private methods:
39
+ #
40
+ # Rake::RDocTask.new(:rdoc_dev) do |rd|
41
+ # rd.main = "README.doc"
42
+ # rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
43
+ # rd.options << "--all"
44
+ # end
45
+ #
46
+ # The tasks would then be named :<em>rdoc_dev</em>, :clobber_<em>rdoc_dev</em>, and
47
+ # :re<em>rdoc_dev</em>.
48
+ #
49
+ # If you wish to have completely different task names, then pass a Hash as
50
+ # first argument. With the <tt>:rdoc</tt>, <tt>:clobber_rdoc</tt> and
51
+ # <tt>:rerdoc</tt> options, you can customize the task names to your liking.
52
+ # For example:
53
+ #
54
+ # Rake::RDocTask.new(:rdoc => "rdoc", :clobber_rdoc => "rdoc:clean", :rerdoc => "rdoc:force")
55
+ #
56
+ # This will create the tasks <tt>:rdoc</tt>, <tt>:rdoc_clean</tt> and
57
+ # <tt>:rdoc:force</tt>.
58
+ #
59
+ class RDocTask < TaskLib
60
+ # Name of the main, top level task. (default is :rdoc)
61
+ attr_accessor :name
62
+
63
+ # Name of directory to receive the html output files. (default is "html")
64
+ attr_accessor :rdoc_dir
65
+
66
+ # Title of RDoc documentation. (defaults to rdoc's default)
67
+ attr_accessor :title
68
+
69
+ # Name of file to be used as the main, top level file of the
70
+ # RDoc. (default is none)
71
+ attr_accessor :main
72
+
73
+ # Name of template to be used by rdoc. (defaults to rdoc's default)
74
+ attr_accessor :template
75
+
76
+ # List of files to be included in the rdoc generation. (default is [])
77
+ attr_accessor :rdoc_files
78
+
79
+ # Additional list of options to be passed rdoc. (default is [])
80
+ attr_accessor :options
81
+
82
+ # Whether to run the rdoc process as an external shell (default is false)
83
+ attr_accessor :external
84
+
85
+ attr_accessor :inline_source
86
+
87
+ # Create an RDoc task with the given name. See the RDocTask class overview
88
+ # for documentation.
89
+ def initialize(name = :rdoc) # :yield: self
90
+ if name.is_a?(Hash)
91
+ invalid_options = name.keys.map { |k| k.to_sym } - [:rdoc, :clobber_rdoc, :rerdoc]
92
+ if !invalid_options.empty?
93
+ raise ArgumentError, "Invalid option(s) passed to RDocTask.new: #{invalid_options.join(", ")}"
94
+ end
95
+ end
96
+
97
+ @name = name
98
+ @rdoc_files = Rake::FileList.new
99
+ @rdoc_dir = 'html'
100
+ @main = nil
101
+ @title = nil
102
+ @template = nil
103
+ @external = false
104
+ @inline_source = true
105
+ @options = []
106
+ yield self if block_given?
107
+ define
108
+ end
109
+
110
+ # Create the tasks defined by this task lib.
111
+ def define
112
+ if rdoc_task_name != "rdoc"
113
+ desc "Build the RDOC HTML Files"
114
+ else
115
+ desc "Build the #{rdoc_task_name} HTML Files"
116
+ end
117
+ task rdoc_task_name
118
+
119
+ desc "Force a rebuild of the RDOC files"
120
+ task rerdoc_task_name => [clobber_task_name, rdoc_task_name]
121
+
122
+ desc "Remove rdoc products"
123
+ task clobber_task_name do
124
+ rm_r rdoc_dir rescue nil
125
+ end
126
+
127
+ task :clobber => [clobber_task_name]
128
+
129
+ directory @rdoc_dir
130
+ task rdoc_task_name => [rdoc_target]
131
+ file rdoc_target => @rdoc_files + [Rake.application.rakefile] do
132
+ rm_r @rdoc_dir rescue nil
133
+ @before_running_rdoc.call if @before_running_rdoc
134
+ args = option_list + @rdoc_files
135
+ if @external
136
+ argstring = args.join(' ')
137
+ sh %{ruby -Ivendor vendor/rd #{argstring}}
138
+ else
139
+ require 'rdoc/rdoc'
140
+ RDoc::RDoc.new.document(args)
141
+ end
142
+ end
143
+ self
144
+ end
145
+
146
+ def option_list
147
+ result = @options.dup
148
+ result << "-o" << @rdoc_dir
149
+ result << "--main" << quote(main) if main
150
+ result << "--title" << quote(title) if title
151
+ result << "-T" << quote(template) if template
152
+ result << "--inline-source" if inline_source && !@options.include?("--inline-source") && !@options.include?("-S")
153
+ result
154
+ end
155
+
156
+ def quote(str)
157
+ if @external
158
+ "'#{str}'"
159
+ else
160
+ str
161
+ end
162
+ end
163
+
164
+ def option_string
165
+ option_list.join(' ')
166
+ end
167
+
168
+ # The block passed to this method will be called just before running the
169
+ # RDoc generator. It is allowed to modify RDocTask attributes inside the
170
+ # block.
171
+ def before_running_rdoc(&block)
172
+ @before_running_rdoc = block
173
+ end
174
+
175
+ private
176
+
177
+ def rdoc_target
178
+ "#{rdoc_dir}/index.html"
179
+ end
180
+
181
+ def rdoc_task_name
182
+ case name
183
+ when Hash
184
+ (name[:rdoc] || "rdoc").to_s
185
+ else
186
+ name.to_s
187
+ end
188
+ end
189
+
190
+ def clobber_task_name
191
+ case name
192
+ when Hash
193
+ (name[:clobber_rdoc] || "clobber_rdoc").to_s
194
+ else
195
+ "clobber_#{name}"
196
+ end
197
+ end
198
+
199
+ def rerdoc_task_name
200
+ case name
201
+ when Hash
202
+ (name[:rerdoc] || "rerdoc").to_s
203
+ else
204
+ "re#{name}"
205
+ end
206
+ end
207
+
208
+ end
209
+ end