Brian Cain 1ef45d8073
Add warning if vagrant-triggers plugin is installed
To allow users to continue to use the community plugin, this commit adds
a switch that will not load the core trigger feature if it detects the
community plugin is installed. It also allows the user to disable the
warning so they can continue to use the plugin without extra output.
2018-04-26 14:59:09 -07:00

69 lines
2.1 KiB
Ruby

require "vagrant"
module VagrantPlugins
module Kernel_V2
# This is the "kernel" of Vagrant and contains the configuration classes
# that make up the core of Vagrant for V2.
class Plugin < Vagrant.plugin("2")
name "kernel"
description <<-DESC
The kernel of Vagrant. This plugin contains required items for even
basic functionality of Vagrant version 2.
DESC
# Core configuration keys provided by the kernel. Note that unlike
# "kernel_v1", none of these configuration classes are upgradable.
# This is by design, since we can't be sure if they're upgradable
# until another version is available.
config("ssh") do
require File.expand_path("../config/ssh", __FILE__)
SSHConfig
end
config("package") do
require File.expand_path("../config/package", __FILE__)
PackageConfig
end
config("push") do
require File.expand_path("../config/push", __FILE__)
PushConfig
end
config("vagrant") do
require File.expand_path("../config/vagrant", __FILE__)
VagrantConfig
end
config("vm") do
require File.expand_path("../config/vm", __FILE__)
VMConfig
end
plugins = Vagrant::Plugin::Manager.instance.installed_plugins
if !plugins.keys.include?("vagrant-triggers")
config("trigger") do
require File.expand_path("../config/trigger", __FILE__)
TriggerConfig
end
else
if !ENV["VAGRANT_USE_VAGRANT_TRIGGERS"]
$stderr.puts <<-EOF
WARNING: Vagrant has detected the `vagrant-triggers` plugin. This plugin conflicts
with the internal triggers implementation. Please uninstall the `vagrant-triggers`
plugin and run the command again if you wish to use the core trigger feature. To
uninstall the plugin, run the command shown below:
vagrant plugin uninstall vagrant-triggers
Note that the community plugin `vagrant-triggers` and the core trigger feature
in Vagrant do not have compatible syntax.
To disable this warning, set the environment variable `VAGRANT_USE_VAGRANT_TRIGGERS`.
EOF
end
end
end
end
end