Sha256: 721e780f6acb6f1aec7d18121d3b8ea12d6e2e1e914742b74d6d8f7187811556

Contents?: true

Size: 1.43 KB

Versions: 1

Compression:

Stored size: 1.43 KB

Contents

#!/usr/bin/env ruby 

require 'optparse'
require 'whiskey_disk/rake'

$0 = "#{$0} setup|deploy"  # jesus, this is a hack.

options = {}
op = OptionParser.new do |opts|
  opts.on('-t=TARGET', '--to=TARGET', "deployment target") do |target| 
    options[:target] = target
  end
  
  opts.on('-p=TARGET', '--path=TARGET', "configuration path") do |path|
    options[:path] = path
  end
    
  opts.on('-o=DOMAIN', '--only=DOMAIN', "limit deployment to this domain") do |domain|
    options[:only] = domain
  end
    
  opts.on('-c', '--check', "do a staleness check before deploying") do |path|
    options[:check] = 'true'
  end

  opts.on('-d', '--debug', "turn on debug mode (ssh -v and rake --trace)") do
    options[:debug] = 'true'
  end
    
  opts.on('--version', 'show current version') do
    puts File.read(File.expand_path(File.join(File.dirname(__FILE__), '..', 'VERSION')))
    exit 0
  end
  
  opts.on_tail('-h', '--help', 'show this message') do
    abort opts.to_s
  end
end

begin
  rest = op.parse(ARGV) 
rescue 
  abort op.to_s 
end

raise op.to_s unless options[:target]
raise op.to_s unless rest and rest.size == 1
command = rest.first
raise op.to_s unless ['deploy', 'setup'].include?(command)

ENV['to'] = options[:target]
ENV['path'] = options[:path]
ENV['only'] = options[:only]
ENV['check'] = options[:check]
ENV['debug'] = options[:debug]

if command == 'deploy'
  Rake::Task['deploy:now'].invoke
else
  Rake::Task['deploy:setup'].invoke
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
whiskey_disk-0.6.17 bin/wd