require 'veewee/provider/core/box' require 'veewee/provider/virtualbox/box/build' require 'veewee/provider/virtualbox/box/create' require 'veewee/provider/virtualbox/box/halt' require 'veewee/provider/virtualbox/box/poweroff' require 'veewee/provider/virtualbox/box/destroy' require 'veewee/provider/virtualbox/box/screenshot' require 'veewee/provider/virtualbox/box/ssh' require 'veewee/provider/virtualbox/box/validate_vagrant' require 'veewee/provider/virtualbox/box/export_vagrant' require 'veewee/provider/virtualbox/box/helper/create' require 'veewee/provider/virtualbox/box/helper/ip' require 'veewee/provider/virtualbox/box/helper/forwarding' require 'veewee/provider/virtualbox/box/helper/natinterface' require 'veewee/provider/virtualbox/box/helper/ssh_options' require 'veewee/provider/virtualbox/box/helper/winrm_options' require 'veewee/provider/virtualbox/box/helper/guest_additions' require 'veewee/provider/virtualbox/box/helper/status' require 'veewee/provider/virtualbox/box/helper/version' require 'veewee/provider/virtualbox/box/helper/buildinfo' require 'veewee/provider/virtualbox/box/helper/console_type' require 'veewee/provider/virtualbox/box/up' require 'whichr' module Veewee module Provider module Virtualbox class Box < Veewee::Provider::Core::Box include ::Veewee::Provider::Virtualbox::BoxCommand def initialize(name,env) @vboxcmd = self.class.determine_vboxcmd super(name, env) end def self.windows_vboxcmd # based on Vagrant/plugins/providers/virtualbox/driver/base.rb if OS.windows? && ENV.has_key?("VBOX_INSTALL_PATH") ENV["VBOX_INSTALL_PATH"].split(File::PATH_SEPARATOR).each do |path| vboxmanage = File.join(path,"VBoxManage.exe") return "\"#{vboxmanage}\"" if File.file?(vboxmanage) end end nil end def self.default_vboxcmd "VBoxManage" end def self.determine_vboxcmd @command ||= windows_vboxcmd || default_vboxcmd end end # End Class end # End Module end # End Module end # End Module