Sha256: 2c36fff0bb5c3122ceb3d5cdd5ceb72aa45d2cf130a71748ff8a0fd7b63bed18

Contents?: true

Size: 1.19 KB

Versions: 9

Compression:

Stored size: 1.19 KB

Contents

#!/usr/bin/env ruby

# Exit cleanly from an early interrupt
Signal.trap("INT") { exit 1 }

# Stdout/stderr should not buffer output
$stdout.sync = true
$stderr.sync = true

require 'thor/error'
require 'kameleon'

# Force Thor to raise exceptions so we can exit non-zero.
ENV["THOR_DEBUG"] = "1"

begin
  Kameleon.init_userconf
  Kameleon::Main.start
rescue Exception  => e
  Kameleon.ui.error("Error: #{e}")
  if Kameleon.env.debug
    raise e
  else
    begin
      raise e
    rescue Kameleon::Exit => e
      exit e.status_code
    rescue Kameleon::Error => e
      Kameleon.ui.trace(e)
      exit e.status_code
    rescue Thor::UndefinedTaskError => e
      Kameleon.ui.trace(e)
      exit 15
    rescue Thor::Error => e
      Kameleon.ui.trace(e)
      exit 15
    rescue SystemExit, Interrupt => e
      Kameleon.ui.error("Quitting...")
      exit 1
    rescue Errno::ENOENT => e
      Kameleon.ui.trace(e)
      exit 16
    rescue Psych::SyntaxError => e
      Kameleon.ui.trace(e)
      exit 17
    rescue Exception => e
      msg = "Unfortunately, a fatal error has occurred : "\
              "#{e.message}.\nUse --debug option for more details\n"
        Kameleon.ui.error(msg)
      exit 666
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
kameleon-builder-2.10.11 bin/kameleon
kameleon-builder-2.10.10 bin/kameleon
kameleon-builder-2.10.9 bin/kameleon
kameleon-builder-2.10.8 bin/kameleon
kameleon-builder-2.10.7 bin/kameleon
kameleon-builder-2.10.6 bin/kameleon
kameleon-builder-2.10.5 bin/kameleon
kameleon-builder-2.10.4 bin/kameleon
kameleon-builder-2.10.3 bin/kameleon