Sha256: 40a0ade8047d585e32977921adf4d6e97360d3eacc15a040e9a4f53a42036ed7

Contents?: true

Size: 1.58 KB

Versions: 4

Compression:

Stored size: 1.58 KB

Contents

#! /usr/bin/env ruby

require 'rubygems'
require 'clamp'
require 'highline'
HighLine.color_scheme = HighLine::SampleColorScheme.new

# create fake command instance to use some global args before we start
class PreParser < Clamp::Command
  option ["-v", "--verbose"], :flag, "be verbose"
  option ["-c", "--config"], "CFG_FILE", "path to custom config file"
end

preparser = PreParser.new File.basename($0), {}
begin
  preparser.parse ARGV
rescue
end

# load user's settings
require 'hammer_cli/settings'

CFG_PATH = ['./config/cli_config.yml', '~/.foreman/cli_config.yml', '/etc/foreman/cli_config.yml']

if preparser.config
  CFG_PATH.unshift preparser.config
end

HammerCLI::Settings.load_from_file CFG_PATH

# setup logging
require 'hammer_cli/logger'
logger = Logging.logger['Init']

if preparser.verbose?
  root_logger = Logging.logger.root
  root_logger.appenders = root_logger.appenders << ::Logging.appenders.stderr(:layout => HammerCLI::Logger::COLOR_LAYOUT)
end

require 'hammer_cli/version'
hammer_version = HammerCLI.version.to_s
logger.info "Initialization of Hammer CLI (#{hammer_version}) has started..."

# log which config was loaded (now when we have logging)
HammerCLI::Settings.path_history.each do |path|
  logger.info "Configuration from the file #{path} has been loaded"
end

# load hammer core
require 'hammer_cli'

# load modules set in config
begin
  HammerCLI::Modules.load_all
rescue => e
  handler = HammerCLI::ExceptionHandler.new(:context => {}, :adapter => :base)
  handler.handle_exception(e)
  exit HammerCLI::EX_SOFTWARE
end

exit HammerCLI::MainCommand.run || HammerCLI::EX_OK

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
hammer_cli-0.0.18 bin/hammer
hammer_cli-0.0.16 bin/hammer
hammer_cli-0.0.15 bin/hammer
hammer_cli-0.0.14 bin/hammer