Sha256: 7221b265a273fc60f76136c7d702a27ac47fcac96b641d524f7697d4de073551

Contents?: true

Size: 1.67 KB

Versions: 1

Compression:

Stored size: 1.67 KB

Contents

#!/usr/bin/env ruby

require 'getopt/long'
require 'devinstall'
require 'devinstall/settings'
require 'pp'

begin
  opt =Getopt::Long.getopts(
      ['--version', '-v',],
      ['--package', '-p', Getopt::REQUIRED],
      ['--config', '-c', Getopt::REQUIRED],
      ['--type', '-t', Getopt::REQUIRED],
      ['--env', '-e', Getopt::REQUIRED],
      ['--build', '-b',],
      ['--upload', '-u',],
      ['--install', '-i',],
      ['--help', '-h',],
  )
rescue
  puts 'Invalid option in command line'
  help!
  exit!(1)
end

def help!
  puts 'Usage: pkg-install --config|-c <file> --package|-p <package> --type|-t <package_type> --env|-e <environment> --build|--upload|--install'
end

if opt['version']
  puts "devinstall version #{Devinstall::VERSION}"
  puts "pkg-tool version   #{Devinstall::VERSION}"
  exit(0)
end

if opt['help']
  help!
  exit!(0)
end
unless opt['config']
  puts 'You must specify a config file'
  exit! 1
end
Settings.load!(opt['config'])
[:package, :type, :env].each do |a|
  if Settings.defaults[a] and not opt[a.to_s]
    opt[a.to_s]=Settings.defaults[a]
  end
end
puts "Working on #{opt['package']} for environment #{opt['env']}"
unless opt['package'] && opt['config'] && opt['type'] && opt['env'] && (opt['build'] || opt['upload'] || opt['install'])
  puts 'You must speciffy --config file, --package, --type and --env and one of the actions (--build, --install, --upload)'
  exit!(0)
end

package=Devinstall::Pkg.new(opt['package'])

if opt['build']
  package.build(opt['type'].to_sym)
elsif opt['install']
  package.build(opt['type'].to_sym)
  package.install(opt['env'].to_sym)
elsif opt['upload']
  package.build(opt['type'].to_sym)
  package.upload(opt['env'].to_sym)
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
devinstall-0.2.0 bin/pkg-tool