         # File lib/rake/rdoctask.rb, line 111
    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