class Vanagon::CLI::Ship

Constants

DOCUMENTATION

Public Instance Methods

parse(argv) click to toggle source
# File lib/vanagon/cli/ship.rb, line 15
def parse(argv)
  Docopt.docopt(DOCUMENTATION, { argv: argv })
rescue Docopt::Exit => e
  VanagonLogger.error e.message
  exit 1
end
run(_) click to toggle source
# File lib/vanagon/cli/ship.rb, line 22
def run(_)
  ENV['PROJECT_ROOT'] = Dir.pwd

  if Dir['output/**/*'].select { |entry| File.file?(entry) }.empty?
    VanagonLogger.error 'vanagon: Error: No packages to ship in the "output" directory. Maybe build some first?'
    exit 1
  end

  require 'packaging'
  Pkg::Util::RakeUtils.load_packaging_tasks
  Pkg::Util::RakeUtils.invoke_task('pl:jenkins:ship', 'artifacts', 'output')
  Pkg::Util::RakeUtils.invoke_task('pl:jenkins:ship_to_artifactory', 'output')
end