core: add "disable" method for synced folders, deprecate "prepare"
This commit is contained in:
parent
c3e6c794cd
commit
e119a5714a
18
CHANGELOG.md
18
CHANGELOG.md
|
@ -1,5 +1,11 @@
|
||||||
## 1.6.0 (unreleased)
|
## 1.6.0 (unreleased)
|
||||||
|
|
||||||
|
BACKWARDS INCOMPATIBILITIES:
|
||||||
|
|
||||||
|
- providers/virtualbox: Shared folders backed by VirtualBox are now
|
||||||
|
"transient". They will be removed if you reboot outside of Vagrant.
|
||||||
|
Always use `vagrant reload`.
|
||||||
|
|
||||||
FEATURES:
|
FEATURES:
|
||||||
|
|
||||||
- **New guest: Windows**. Vagrant now fully supports Windows as a guest
|
- **New guest: Windows**. Vagrant now fully supports Windows as a guest
|
||||||
|
@ -37,6 +43,11 @@ BUG FIXES:
|
||||||
|
|
||||||
PLUGIN AUTHOR CHANGES:
|
PLUGIN AUTHOR CHANGES:
|
||||||
|
|
||||||
|
- core: The "Call" middleware now merges the resulting middlewaer stack
|
||||||
|
into the current stack, rather than running it as a separate stack.
|
||||||
|
The result is that ordering is preserved.
|
||||||
|
- core: The "Message" middleware now takes a "post" option that will
|
||||||
|
output the message on the return-side of the middleware stack.
|
||||||
- New host capability: "rdp\_client". This capability gets the RDP connection
|
- New host capability: "rdp\_client". This capability gets the RDP connection
|
||||||
info and must launch the RDP client on the system.
|
info and must launch the RDP client on the system.
|
||||||
- provider: Providers can now specify that boxes are optional. This lets
|
- provider: Providers can now specify that boxes are optional. This lets
|
||||||
|
@ -45,11 +56,8 @@ PLUGIN AUTHOR CHANGES:
|
||||||
- provider: A new class-level `usable?` method can be implemented on the
|
- provider: A new class-level `usable?` method can be implemented on the
|
||||||
provider implementation. This returns or raises an error when the
|
provider implementation. This returns or raises an error when the
|
||||||
provider is not usable (i.e. VirtualBox isn't installed for VirtualBox)
|
provider is not usable (i.e. VirtualBox isn't installed for VirtualBox)
|
||||||
- core: The "Call" middleware now merges the resulting middlewaer stack
|
- synced\_folders: New "disable" method for removing synced folders from
|
||||||
into the current stack, rather than running it as a separate stack.
|
a running machine.
|
||||||
The result is that ordering is preserved.
|
|
||||||
- core: The "Message" middleware now takes a "post" option that will
|
|
||||||
output the message on the return-side of the middleware stack.
|
|
||||||
|
|
||||||
## 1.5.4 (April 21, 2014)
|
## 1.5.4 (April 21, 2014)
|
||||||
|
|
||||||
|
|
|
@ -14,21 +14,36 @@ module Vagrant
|
||||||
def usable?(machine, raise_error=false)
|
def usable?(machine, raise_error=false)
|
||||||
end
|
end
|
||||||
|
|
||||||
# This is called before the machine is booted, allowing the
|
# DEPRECATED: This will be removed.
|
||||||
# implementation to make any machine modifications or perhaps
|
|
||||||
# verifications.
|
|
||||||
#
|
#
|
||||||
# No return value.
|
# @deprecated
|
||||||
def prepare(machine, folders, opts)
|
def prepare(machine, folders, opts)
|
||||||
end
|
end
|
||||||
|
|
||||||
# This is called after the machine is booted and after networks
|
# This is called after the machine is booted and after networks
|
||||||
# are setup.
|
# are setup.
|
||||||
#
|
#
|
||||||
|
# This might be called with new folders while the machine is running.
|
||||||
|
# If so, then this should add only those folders without removing
|
||||||
|
# any existing ones.
|
||||||
|
#
|
||||||
# No return value.
|
# No return value.
|
||||||
def enable(machine, folders, opts)
|
def enable(machine, folders, opts)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# This is called to remove the synced folders from a running
|
||||||
|
# machine.
|
||||||
|
#
|
||||||
|
# This is not guaranteed to be called, but this should be implemented
|
||||||
|
# by every synced folder implementation.
|
||||||
|
#
|
||||||
|
# @param [Machine] machine The machine to modify.
|
||||||
|
# @param [Hash] folders The folders to remove. This will not contain
|
||||||
|
# any folders that should remain.
|
||||||
|
# @param [Hash] opts Any options for the synced folders.
|
||||||
|
def disable(machine, folders, opts)
|
||||||
|
end
|
||||||
|
|
||||||
# This is called after destroying the machine during a
|
# This is called after destroying the machine during a
|
||||||
# `vagrant destroy` and also prior to syncing folders during
|
# `vagrant destroy` and also prior to syncing folders during
|
||||||
# a `vagrant up`.
|
# a `vagrant up`.
|
||||||
|
|
|
@ -9,7 +9,8 @@ module VagrantPlugins
|
||||||
machine.provider_config.functional_vboxsf
|
machine.provider_config.functional_vboxsf
|
||||||
end
|
end
|
||||||
|
|
||||||
def prepare(machine, folders, _opts)
|
def enable(machine, folders, _opts)
|
||||||
|
# Export the shared folders to the VM
|
||||||
defs = []
|
defs = []
|
||||||
folders.each do |id, data|
|
folders.each do |id, data|
|
||||||
hostpath = Vagrant::Util::Platform.cygwin_windows_path(data[:hostpath])
|
hostpath = Vagrant::Util::Platform.cygwin_windows_path(data[:hostpath])
|
||||||
|
@ -17,14 +18,12 @@ module VagrantPlugins
|
||||||
defs << {
|
defs << {
|
||||||
name: os_friendly_id(id),
|
name: os_friendly_id(id),
|
||||||
hostpath: hostpath.to_s,
|
hostpath: hostpath.to_s,
|
||||||
transient: data[:transient],
|
transient: true,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
driver(machine).share_folders(defs)
|
driver(machine).share_folders(defs)
|
||||||
end
|
|
||||||
|
|
||||||
def enable(machine, folders, _opts)
|
|
||||||
# short guestpaths first, so we don't step on ourselves
|
# short guestpaths first, so we don't step on ourselves
|
||||||
folders = folders.sort_by do |id, data|
|
folders = folders.sort_by do |id, data|
|
||||||
if data[:guestpath]
|
if data[:guestpath]
|
||||||
|
|
Loading…
Reference in New Issue