Sha256: 6c86d1ab903079bdd4457a335ceaee42d405953caedc285c7b81cf5e6dc1573d

Contents?: true

Size: 1.82 KB

Versions: 8

Compression:

Stored size: 1.82 KB

Contents

#!/usr/bin/env ruby

def init_hem
  require_relative '../lib/hem/setup'

  # Default main classes
  error_handler = Hem::ErrorHandlers::Friendly.new
  Hem.ui = Hem::Ui.new
  Hem.logger = Logger.new(STDOUT)
  Hem.logger.level = Logger::WARN

  Hem.plugins = Hem::Plugins.new(Hem.project_path || Hem.config_path, Hem.project_dsl_file)

  # Low level / early arg parsing
  # Anything that can alter ui / logger / cli should be here
  # Early termination args should also go here
  slop = Slop.parse! do
    on '--debug', 'Enable debugging' do
      require 'teerb'
      require 'tmpdir'
      error_handler = Hem::ErrorHandlers::Debug.new
      debug_log = File.open(File.join(Dir.tmpdir, 'hem_debug.log'), 'w+')
      Hem.logger = Logger.new(TeeRb::IODelegate.new(STDOUT, debug_log))
      Hem.logger.level = Logger::DEBUG
    end

    on '--ansi', 'Enable / disable ansi output', :invertable => true do
      Hem.ui.use_color self.to_hash[:ansi]
    end

    on '--log-level=', 'Set log level' do
      level = self.to_hash[:'log-level'].upcase
      Hem.logger.level = Logger.const_get(level) if [ 'DEBUG', 'INFO' ].include? level
    end

    on '--non-interactive', 'Run non-interactively. Defaults will be automatically used where possible.'
    on '--skip-host-checks', 'Skip host checks'
  end

  Hem.logger.formatter = proc do |severity, datetime, progname, msg|
    "#{datetime.strftime("%Y-%m-%d %H:%M:%S")}: #{severity}: #{msg}\n"
  end

  opts = slop.to_hash
  Hem.ui.interactive = !(opts[:'non-interactive'] == true)

  begin
    Hem.cli = Hem::Cli.new(slop: slop)
    Hem.cli.start
  rescue Exception => error
    exit error_handler.handle(Hem.cli, error)
  end
end

Gem.configuration.verbose = false

require_relative '../lib/hem/patches/rubygems'

# Suppress Net/SSH/Simple warning on windows
$SUPPRESS_32BIT_WARNING=1
$HEM_ARGV = ARGV

init_hem

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
hem-1.2.4 bin/hem
hem-1.2.3 bin/hem
hem-1.2.2 bin/hem
hem-1.2.1 bin/hem
hem-1.2.0 bin/hem
hem-1.1.2 bin/hem
hem-1.1.1 bin/hem
hem-1.1.0 bin/hem