Sha256: d7bd650c184cfff2fad783783a8b450f5abb93ef9826e131334e34d5d960627e

Contents?: true

Size: 1.37 KB

Versions: 7

Compression:

Stored size: 1.37 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.error(e.message)
      Kameleon.ui.trace(e)
      exit e.status_code
    rescue Thor::UndefinedTaskError => e
      Kameleon.ui.error(e.message)
      Kameleon.ui.trace(e)
      exit 15
    rescue Thor::Error => e
      Kameleon.ui.error(e.message)
      Kameleon.ui.trace(e)
      exit 15
    rescue SystemExit, Interrupt => e
      Kameleon.ui.error("Quitting...")
      exit 1
    rescue Errno::ENOENT => e
      Kameleon.ui.error(e.message)
      Kameleon.ui.trace(e)
      exit 16
    rescue Psych::SyntaxError => e
      Kameleon.ui.error(e.message)
      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

7 entries across 7 versions & 1 rubygems

Version Path
kameleon-builder-2.6.7 bin/kameleon
kameleon-builder-2.6.6 bin/kameleon
kameleon-builder-2.6.5 bin/kameleon
kameleon-builder-2.6.3 bin/kameleon
kameleon-builder-2.6.2 bin/kameleon
kameleon-builder-2.6.1 bin/kameleon
kameleon-builder-2.6.0 bin/kameleon