130: def define
131: if rdoc_task_name != "rdoc"
132: desc "Build the RDOC HTML Files"
133: else
134: desc "Build the #{rdoc_task_name} HTML Files"
135: end
136: task rdoc_task_name
137:
138: desc "Force a rebuild of the RDOC files"
139: task rerdoc_task_name => [clobber_task_name, rdoc_task_name]
140:
141: desc "Remove rdoc products"
142: task clobber_task_name do
143: rm_r rdoc_dir rescue nil
144: end
145:
146: task :clobber => [clobber_task_name]
147:
148: directory @rdoc_dir
149: task rdoc_task_name => [rdoc_target]
150: file rdoc_target => @rdoc_files + [Rake.application.rakefile] do
151: rm_r @rdoc_dir rescue nil
152: @before_running_rdoc.call if @before_running_rdoc
153: args = option_list + @rdoc_files
154: if @external
155: argstring = args.join(' ')
156: sh %{ruby -Ivendor vendor/rd #{argstring}}
157: else
158: require 'rdoc/rdoc'
159: RDoc::RDoc.new.document(args)
160: end
161: end
162: self
163: end