# File lib/yard/rubygems/doc_manager.rb, line 9
  def run_yardoc(*args)
    args << '--quiet'
    args << '--backtrace' if Gem.configuration.backtrace
    unless File.file?(File.join(@spec.full_gem_path, '.yardopts'))
      args << @spec.require_paths
      if @spec.extra_rdoc_files.size > 0
        args << '-'
        args += @spec.extra_rdoc_files
      end
    end
    args = args.flatten.map {|arg| arg.to_s }

    old_pwd = Dir.pwd
    Dir.chdir(@spec.full_gem_path)
    YARD::CLI::Yardoc.run(*args)
  rescue Errno::EACCES => e
    dirname = File.dirname e.message.split("-")[1].strip
    raise Gem::FilePermissionError.new(dirname)
  rescue => ex
    alert_error "While generating documentation for #{@spec.full_name}"
    ui.errs.puts "... MESSAGE:   #{ex}"
    ui.errs.puts "... YARDOC args: #{args.join(' ')}"
    ui.errs.puts "\t#{ex.backtrace.join("\n\t")}" if Gem.configuration.backtrace
    ui.errs.puts "(continuing with the rest of the installation)"
  ensure
    Dir.chdir(old_pwd)
  end