| Class | Rake::RDocTask |
| In: |
lib/rake/rdoctask.rb
|
| Parent: | TaskLib |
Create a documentation task that will generate the RDoc files for a project.
The RDocTask will create the following targets:
Simple Example:
Rake::RDocTask.new do |rd|
rd.main = "README.rdoc"
rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
end
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:
Rake::RDocTask.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 :rdoc_dev, :clobber_rdoc_dev, and :rerdoc_dev.
| external | [RW] | Run the rdoc process as an external shell (default is false) |
| main | [RW] | Name of file to be used as the main, top level file of the RDoc. (default is none) |
| name | [RW] | Name of the main, top level task. (default is :rdoc) |
| options | [RW] | List of options to be passed rdoc. (default is []) |
| rdoc_dir | [RW] | Name of directory to receive the html output files. (default is "html") |
| rdoc_files | [RW] | List of files to be included in the rdoc generation. (default is []) |
| template | [RW] | Name of template to be used by rdoc. (defaults to rdoc‘s default) |
| title | [RW] | Title of RDoc documentation. (default is none) |
Create an RDoc task named rdoc. Default task name is rdoc.
# File lib/rake/rdoctask.rb, line 71
71: def initialize(name=:rdoc) # :yield: self
72: @name = name
73: @rdoc_files = Rake::FileList.new
74: @rdoc_dir = 'html'
75: @main = nil
76: @title = nil
77: @template = nil
78: @external = false
79: @options = []
80: yield self if block_given?
81: define
82: end
Create the tasks defined by this task lib.
# File lib/rake/rdoctask.rb, line 85
85: def define
86: if name.to_s != "rdoc"
87: desc "Build the RDOC HTML Files"
88: end
89:
90: desc "Build the #{name} HTML Files"
91: task name
92:
93: desc "Force a rebuild of the RDOC files"
94: task "re#{name}" => ["clobber_#{name}", name]
95:
96: desc "Remove rdoc products"
97: task "clobber_#{name}" do
98: rm_r rdoc_dir rescue nil
99: end
100:
101: task :clobber => ["clobber_#{name}"]
102:
103: directory @rdoc_dir
104: task name => [rdoc_target]
105: file rdoc_target => @rdoc_files + [Rake.application.rakefile] do
106: rm_r @rdoc_dir rescue nil
107: args = option_list + @rdoc_files
108: if @external
109: argstring = args.join(' ')
110: sh %{ruby -Ivendor vender/rd #{argstring}}
111: else
112: require 'rdoc/rdoc'
113: RDoc::RDoc.new.document(args)
114: end
115: end
116: self
117: end
# File lib/rake/rdoctask.rb, line 119
119: def option_list
120: result = @options.dup
121: result << "-o" << @rdoc_dir
122: result << "--main" << quote(main) if main
123: result << "--title" << quote(title) if title
124: result << "-T" << quote(template) if template
125: result
126: end