summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-05-02 08:52:20 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-05-02 08:52:20 +0000
commit24bc7af43abf6de550e8f382850ff6492bfb544e (patch)
tree56597c37633edf61f110dcaefa3140e0034dbca1 /lib
parent765ff64b107753a67c354463aabb8144cf70f120 (diff)
* lib/rdoc/task.rb (RDoc::Task): should not override newer code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/rake/rdoctask.rb1
-rw-r--r--lib/rdoc/task.rb231
2 files changed, 4 insertions, 228 deletions
diff --git a/lib/rake/rdoctask.rb b/lib/rake/rdoctask.rb
index 9198806026..983a260dc5 100644
--- a/lib/rake/rdoctask.rb
+++ b/lib/rake/rdoctask.rb
@@ -141,6 +141,7 @@ module Rake
self
end
+ # List of options that will be supplied to RDoc
def option_list
result = @options.dup
result << "-o" << @rdoc_dir
diff --git a/lib/rdoc/task.rb b/lib/rdoc/task.rb
index 005c516eed..f87ef7dc0e 100644
--- a/lib/rdoc/task.rb
+++ b/lib/rdoc/task.rb
@@ -21,238 +21,13 @@
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#++
-require 'rubygems'
-begin
- gem 'rdoc'
-rescue Gem::LoadError
-end
-
-begin
- gem 'rake'
-rescue Gem::LoadError
-end
-
require 'rdoc'
require 'rake'
-require 'rake/tasklib'
-
-##
-# Create a documentation task that will generate the RDoc files for a project.
-#
-# The RDoc::Task will create the following targets:
-#
-# [rdoc]
-# Main task for this RDoc task.
-#
-# [clobber_rdoc]
-# Delete all the rdoc files. This target is automatically added to the main
-# clobber target.
-#
-# [rerdoc]
-# Rebuild the rdoc files from scratch, even if they are not out of date.
-#
-# Simple Example:
-#
-# RDoc::Task.new do |rd|
-# rd.main = "README.rdoc"
-# rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
-# end
-#
-# The +rd+ object passed to the block is an RDoc::Task object. See the
-# attributes list for the RDoc::Task class for available customization options.
-#
-# == Specifying different task names
-#
-# You may wish to give the task a different name, such as if you are
-# generating two sets of documentation. For instance, if you want to have a
-# development set of documentation including private methods:
-#
-# RDoc::Task.new :rdoc_dev do |rd|
-# rd.main = "README.doc"
-# rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
-# rd.options << "--all"
-# end
-#
-# The tasks would then be named :<em>rdoc_dev</em>,
-# :clobber_<em>rdoc_dev</em>, and :re<em>rdoc_dev</em>.
-#
-# If you wish to have completely different task names, then pass a Hash as
-# first argument. With the <tt>:rdoc</tt>, <tt>:clobber_rdoc</tt> and
-# <tt>:rerdoc</tt> options, you can customize the task names to your liking.
-#
-# For example:
-#
-# RDoc::Task.new(:rdoc => "rdoc", :clobber_rdoc => "rdoc:clean",
-# :rerdoc => "rdoc:force")
-#
-# This will create the tasks <tt>:rdoc</tt>, <tt>:rdoc:clean</tt> and
-# <tt>:rdoc:force</tt>.
-
-class RDoc::Task < Rake::TaskLib
-
- ##
- # Name of the main, top level task. (default is :rdoc)
-
- attr_accessor :name
-
- ##
- # Name of directory to receive the html output files. (default is "html")
-
- attr_accessor :rdoc_dir
-
- ##
- # Title of RDoc documentation. (defaults to rdoc's default)
-
- attr_accessor :title
-
- ##
- # Name of file to be used as the main, top level file of the RDoc. (default
- # is none)
-
- attr_accessor :main
-
- ##
- # Name of template to be used by rdoc. (defaults to rdoc's default)
-
- attr_accessor :template
-
- ##
- # List of files to be included in the rdoc generation. (default is [])
-
- attr_accessor :rdoc_files
-
- ##
- # Additional list of options to be passed rdoc. (default is [])
-
- attr_accessor :options
-
- ##
- # Whether to run the rdoc process as an external shell (default is false)
-
- attr_accessor :external
-
- ##
- # Create an RDoc task with the given name. See the RDoc::Task class overview
- # for documentation.
-
- def initialize(name = :rdoc) # :yield: self
- if name.is_a? Hash then
- invalid_options = name.keys.map { |k| k.to_sym } -
- [:rdoc, :clobber_rdoc, :rerdoc]
-
- unless invalid_options.empty? then
- raise ArgumentError, "invalid options: #{invalid_options.join(", ")}"
- end
- end
-
- @name = name
- @rdoc_files = Rake::FileList.new
- @rdoc_dir = 'html'
- @main = nil
- @title = nil
- @template = nil
- @options = []
- yield self if block_given?
- define
- end
-
- ##
- # Create the tasks defined by this task lib.
-
- def define
- desc "Build RDoc HTML files"
- task rdoc_task_name
-
- desc "Rebuild RDoc HTML files"
- task rerdoc_task_name => [clobber_task_name, rdoc_task_name]
-
- desc "Remove RDoc HTML files"
- task clobber_task_name do
- rm_r @rdoc_dir rescue nil
- end
-
- task :clobber => [clobber_task_name]
-
- directory @rdoc_dir
-
- rdoc_target_deps = [
- @rdoc_files,
- Rake.application.rakefile
- ].flatten.compact
-
- task rdoc_task_name => [rdoc_target]
- file rdoc_target => rdoc_target_deps do
- @before_running_rdoc.call if @before_running_rdoc
- args = option_list + @rdoc_files
-
- if Rake.application.options.trace then
- $stderr.puts "rdoc #{args.join ' '}"
- end
- require 'rdoc/rdoc'
- RDoc::RDoc.new.document(args)
- end
-
- self
- end
-
- ##
- # List of options that will be supplied to RDoc
-
- def option_list
- result = @options.dup
- result << "-o" << @rdoc_dir
- result << "--main" << main if main
- result << "--title" << title if title
- result << "-T" << template if template
- result
- end
-
- ##
- # The block passed to this method will be called just before running the
- # RDoc generator. It is allowed to modify RDoc::Task attributes inside the
- # block.
-
- def before_running_rdoc(&block)
- @before_running_rdoc = block
- end
-
- private
-
- def rdoc_target
- "#{rdoc_dir}/index.html"
- end
-
- def rdoc_task_name
- case name
- when Hash then (name[:rdoc] || "rdoc").to_s
- else name.to_s
- end
- end
-
- def clobber_task_name
- case name
- when Hash then (name[:clobber_rdoc] || "clobber_rdoc").to_s
- else "clobber_#{name}"
- end
- end
-
- def rerdoc_task_name
- case name
- when Hash then (name[:rerdoc] || "rerdoc").to_s
- else "re#{name}"
- end
- end
-
-end
+require 'rake/rdoctask'
# :stopdoc:
-module Rake
-
- ##
- # For backwards compatibility
-
- RDocTask = RDoc::Task
-
+module RDoc
+ Task = Rake::RDocTask
end
# :startdoc: