Sha256: 214bafe167cd16a038c934f04f220327cd7bc732954909dffb729d42021c25be
Contents?: true
Size: 1.91 KB
Versions: 6
Compression:
Stored size: 1.91 KB
Contents
require "autoproj" require "autoproj/cli/base" module Autoproj module CLI class Manifest < Base def validate_options(args, options) [args, options] end def run(name, options = Hash.new) ws.load_config if name.empty? Autoproj.message "current manifest is #{ws.manifest_file_path}" elsif name.size == 1 name = name.first if File.file?(full_path = File.expand_path(name)) if File.dirname(full_path) != ws.config_dir raise CLIInvalidArguments, "#{full_path} is not part of #{ws.config_dir}" end else full_path = File.join(ws.config_dir, name) end unless File.file?(full_path) alternative_full_path = File.join(ws.config_dir, "manifest.#{name}") unless File.file?(alternative_full_path) raise CLIInvalidArguments, "neither #{full_path} nor #{alternative_full_path} exist" end full_path = alternative_full_path end begin Autoproj::Manifest.new(ws).load(full_path) rescue Exception Autoproj.error "failed to load #{full_path}" raise end ws.config.set "manifest_name", File.basename(full_path) ws.save_config Autoproj.message "set manifest to #{full_path}" else raise CLIInvalidArguments, "expected zero or one argument, but got #{name.size}" end end def notify_env_sh_updated end end end end
Version data entries
6 entries across 6 versions & 1 rubygems