Sha256: 85f1debb6e487312e68427ae7432717e15b6da9d22029133efeb94111ed32fcf

Contents?: true

Size: 1.84 KB

Versions: 35

Compression:

Stored size: 1.84 KB

Contents

#!/usr/bin/env ruby 
Signal.trap("INT") { exit 1 }
$stdout.sync = true

require 'optparse'
require 'dply/error'
require 'dply/version'
require 'dply/logger'
require 'dplyr/cli'
require 'pathname'

logger = ::Dply::Logger.logger
options = {}

opts_parser = OptionParser.new do |opts| 
    
    banner = [] 
    banner << "Usage: dplyr [global options] stage command [options] args"
    banner << "Commands:"
    banner << "    deploy"
    banner << "    switch"
    banner << "    rollback"
    
    banner << "Options: "
    opts.banner = banner.join("\n")

    opts.on("-d", "--deploy-dir [DEPLOY DIR]" , "Set deploy dir") do |d| 
      path = Pathname.new(d)
      raise ::Dply::Error, "deploy_dir path must be absolute" if path.relative?
      options[:deploy_dir] = path
    end 

    opts.on("-v", "--version", "Show version") do |v|
      puts ::Dply::VERSION
      exit
    end

    opts.on("--debug", "Show debug messages") do
      options[:debug] = true
      logger.level = ::Logger::DEBUG
    end

    opts.on("--trace", "Show debug messages and exception stack trace") do
      options[:debug] = true
      options[:trace] = true
      logger.level = ::Logger::DEBUG
    end

    opts.on("-m", "--enable-markers", "Enable marker logging") do
      logger.enable_markers = true
    end

    opts.on_tail("-h", "--help", "Show this message") do 
      puts opts
      exit
    end
end
begin
  opts_parser.order!(ARGV)
  deploy_dir = options[:deploy_dir] || Dir.pwd
  Dir.chdir deploy_dir

  stage = ARGV.shift

  dplyr = ::Dplyr::Cli.new(stage, ARGV)
  dplyr.run

rescue OptionParser::InvalidOption, OptionParser::MissingArgument, ::Dply::Error => e
  cause = e.cause
  if options[:trace]
    puts cause
    cause ? (raise cause) : (raise e)
  else
    logger.debug "#{cause.message}" if cause
    logger.error "#{e.message}"
    abort
  end
ensure
  logger.marker "end"
end


Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
dply-0.3.15 exe/dplyr
dply-0.3.14 exe/dplyr
dply-0.3.13 exe/dplyr
dply-0.3.12 exe/dplyr
dply-0.3.11 exe/dplyr
dply-0.3.10 exe/dplyr
dply-0.3.9 exe/dplyr
dply-0.3.8 exe/dplyr
dply-0.3.7 exe/dplyr
dply-0.3.6 exe/dplyr
dply-0.3.5 exe/dplyr
dply-0.3.4 exe/dplyr
dply-0.3.3 exe/dplyr
dply-0.3.2 exe/dplyr
dply-0.3.1 exe/dplyr
dply-0.3.0 exe/dplyr
dply-0.2.19 bin/dplyr
dply-0.2.18 bin/dplyr
dply-0.2.17 bin/dplyr
dply-0.2.16 bin/dplyr