Method: PDK::CLI.run

Defined in:
lib/pdk/cli.rb

.run(args) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/pdk/cli.rb', line 15

def self.run(args)
  @base_cmd.run(args)
rescue PDK::CLI::FatalError => e
  PDK.logger.fatal(e.message) if e.message

  # If FatalError was raised as the result of another exception, send the
  # details of that exception to the debug log. If there was no cause
  # (FatalError raised on its own outside a rescue block), send the details
  # of the FatalError exception to the debug log.
  cause = e.cause
  if cause.nil?
    e.backtrace.each { |line| PDK.logger.debug(line) }
  else
    PDK.logger.debug("#{cause.class}: #{cause.message}")
    cause.backtrace.each { |line| PDK.logger.debug(line) }
  end

  exit e.exit_code
end