class Autoproj::CLI::MainPlugin
Public Instance Methods
install(name)
click to toggle source
# File lib/autoproj/cli/main_plugin.rb, line 37 def install(name) require "autoproj" gem_options = Hash.new if options[:git] && options[:path] raise CLIInvalidArguments, "you can provide only one of --git or --path" elsif options[:git] gem_options[:git] = options[:git] gem_options[:branch] = options[:branch] elsif options[:path] gem_options[:path] = options[:path] end plugins = read_plugin_list updated_plugins = plugins.merge(name => [options[:version], gem_options]) write_plugin_list(updated_plugins) begin install_plugins rescue Exception write_plugin_list(plugins) install_plugins raise end end
install_plugins()
click to toggle source
# File lib/autoproj/cli/main_plugin.rb, line 11 def install_plugins ws.load_config ws.update_autoproj(restart_on_update: false) end
list()
click to toggle source
# File lib/autoproj/cli/main_plugin.rb, line 63 def list require "autoproj" read_plugin_list.sort_by(&:first).each do |name, (version, options)| args = [version, *options.map { |k, v| "#{k}: \"#{v}\"" }] puts "#{name}: #{args.join(', ')}" end end
read_plugin_list()
click to toggle source
# File lib/autoproj/cli/main_plugin.rb, line 16 def read_plugin_list ws.load_config ws.config.get("plugins", Hash.new) end
remove(name)
click to toggle source
# File lib/autoproj/cli/main_plugin.rb, line 72 def remove(name) require "autoproj" plugins = read_plugin_list updated_plugins = plugins.dup updated_plugins.delete(name) write_plugin_list(updated_plugins) install_plugins end
write_plugin_list(plugins)
click to toggle source
# File lib/autoproj/cli/main_plugin.rb, line 21 def write_plugin_list(plugins) ws.load_config ws.config.set("plugins", plugins) ws.save_config end
ws()
click to toggle source
# File lib/autoproj/cli/main_plugin.rb, line 7 def ws @ws ||= Workspace.default end