62: def rdoc
63: exit_code = 0
64: files = []
65: unless @manifest
66: env = Puppet::Node::Environment.new
67: files += env.modulepath
68: files << File.dirname(env[:manifest])
69: end
70: files += command_line.args
71: Puppet.info "scanning: #{files.inspect}"
72:
73: Puppet.settings.setdefaults(
74: "puppetdoc",
75:
76: "document_all" => [false, "Document all resources"]
77: )
78: Puppet.settings[:document_all] = options[:all] || false
79: begin
80: require 'puppet/util/rdoc'
81: if @manifest
82: Puppet::Util::RDoc.manifestdoc(files)
83: else
84: options[:outputdir] = "doc" unless options[:outputdir]
85: Puppet::Util::RDoc.rdoc(options[:outputdir], files, options[:charset])
86: end
87: rescue => detail
88: puts detail.backtrace if Puppet[:trace]
89: $stderr.puts "Could not generate documentation: #{detail}"
90: exit_code = 1
91: end
92: exit exit_code
93: end