class Rcov::RcovTask

def define

Create the tasks defined by this task lib.
def define
  lib_path = @libs.join(File::PATH_SEPARATOR)
  actual_name = Hash === name ? name.keys.first : name
  unless Rake.application.last_comment
    desc "Analyze code coverage with tests" + 
      (@name==:rcov ? "" : " for #{actual_name}")
  end
  task @name do
    run_code = ''
    RakeFileUtils.verbose(@verbose) do
      run_code =
      case rcov_path
      when nil, ''
        "-S rcov"
      else %!"#{rcov_path}"!
      end
      ruby_opts = @ruby_opts.clone
      ruby_opts.push( "-I#{lib_path}" )
      ruby_opts.push run_code
      ruby_opts.push( "-w" ) if @warning
      ruby ruby_opts.join(" ") + " " + option_list +
      %[ -o "#{@output_dir}" ] +
      file_list.collect { |fn| %["#{fn}"] }.join(' ')
    end
  end
  desc "Remove rcov products for #{actual_name}"
  task paste("clobber_", actual_name) do
    rm_r @output_dir rescue nil
  end
  clobber_task = paste("clobber_", actual_name)
  task :clobber => [clobber_task]
  task actual_name => clobber_task
  self
end