class Autoproj::CLI::Manifest

Public Instance Methods

notify_env_sh_updated() click to toggle source
# File lib/autoproj/cli/manifest.rb, line 46
def notify_env_sh_updated
end
run(name, options = Hash.new) click to toggle source
# File lib/autoproj/cli/manifest.rb, line 10
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
validate_options(args, options) click to toggle source
# File lib/autoproj/cli/manifest.rb, line 6
def validate_options(args, options)
    [args, options]
end