def run_yardoc(*args)
args << '--quiet' unless Gem.configuration.really_verbose
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 }
Dir.chdir(@spec.full_gem_path) do
YARD::CLI::Yardoc.run(*args)
end
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)"
end