module VagrantPlugins module Cachier class Plugin < Vagrant.plugin('2') action_hook VagrantPlugins::Cachier::Plugin::ALL_ACTIONS do |hook| require_relative 'action/configure_bucket_root' require_relative 'action/install_buckets' hook.before Vagrant::Action::Builtin::Provision, Action::ConfigureBucketRoot # This will do the initial buckets installation hook.after Vagrant::Action::Builtin::Provision, Action::InstallBuckets, chmod: true end # This ensure buckets are reconfigured after provisioners runs action_hook :provisioner_run do |hook| require_relative 'action/install_buckets' hook.after :run_provisioner, Action::InstallBuckets end clean_action_hook = lambda do |hook| require_relative 'action/clean' hook.before Vagrant::Action::Builtin::GracefulHalt, Action::Clean end action_hook 'remove-guest-symlinks-on-halt', :machine_action_halt, &clean_action_hook action_hook 'remove-guest-symlinks-on-package', :machine_action_package, &clean_action_hook end end end