Sha256: 23d27f15621da9572e6dd7b22f276f67e49b5d60e173529ad3dbf26ba45d1826

Contents?: true

Size: 1.37 KB

Versions: 1

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
  if Kameleon.env.debug
    Kameleon.ui.error("Error : #{e}")
    raise e
  else
    begin
      raise exit
    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

1 entries across 1 versions & 1 rubygems

Version Path
kameleon-builder-2.5.0 bin/kameleon