2013-02-03 02:42:04 +00:00
|
|
|
require "pathname"
|
|
|
|
|
|
|
|
require "vagrant/action/builder"
|
|
|
|
|
|
|
|
module VagrantPlugins
|
|
|
|
module CommandPlugin
|
|
|
|
module Action
|
|
|
|
# This middleware sequence will install a plugin.
|
|
|
|
def self.action_install
|
|
|
|
Vagrant::Action::Builder.new.tap do |b|
|
|
|
|
b.use InstallGem
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2013-02-04 18:22:15 +00:00
|
|
|
# This middleware sequence licenses paid addons.
|
|
|
|
def self.action_license
|
|
|
|
Vagrant::Action::Builder.new.tap do |b|
|
|
|
|
b.use LicensePlugin
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2013-02-03 07:52:34 +00:00
|
|
|
# This middleware sequence will list all installed plugins.
|
|
|
|
def self.action_list
|
|
|
|
Vagrant::Action::Builder.new.tap do |b|
|
|
|
|
b.use ListPlugins
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2013-02-03 18:47:01 +00:00
|
|
|
# This middleware sequence will uninstall a plugin.
|
|
|
|
def self.action_uninstall
|
|
|
|
Vagrant::Action::Builder.new.tap do |b|
|
|
|
|
b.use UninstallPlugin
|
|
|
|
end
|
|
|
|
end
|
2013-02-03 21:03:00 +00:00
|
|
|
|
2013-09-02 16:31:26 +00:00
|
|
|
# This middleware sequence will update a plugin.
|
|
|
|
def self.action_update
|
|
|
|
Vagrant::Action::Builder.new.tap do |b|
|
|
|
|
b.use PluginExistsCheck
|
|
|
|
b.use InstallGem
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2013-02-03 02:42:04 +00:00
|
|
|
# The autoload farm
|
|
|
|
action_root = Pathname.new(File.expand_path("../action", __FILE__))
|
|
|
|
autoload :InstallGem, action_root.join("install_gem")
|
2013-02-04 18:41:35 +00:00
|
|
|
autoload :LicensePlugin, action_root.join("license_plugin")
|
2013-02-03 07:52:34 +00:00
|
|
|
autoload :ListPlugins, action_root.join("list_plugins")
|
2013-09-02 16:31:26 +00:00
|
|
|
autoload :PluginExistsCheck, action_root.join("plugin_exists_check")
|
2013-02-03 18:47:01 +00:00
|
|
|
autoload :UninstallPlugin, action_root.join("uninstall_plugin")
|
2013-02-03 02:42:04 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|