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