Request sets need prerelease enabled not just the spec matching

This commit is contained in:
Chris Roberts 2020-11-06 15:22:28 -08:00
parent e9a962c142
commit b479e04eb4

View File

@ -577,7 +577,8 @@ module Vagrant
# Create the request set for the new plugins # Create the request set for the new plugins
request_set = Gem::RequestSet.new(*plugin_deps) request_set = Gem::RequestSet.new(*plugin_deps)
enable_prerelease!(request_set: request_set) enable_prerelease!(request_set: request_set)
request_set.prerelease = Vagrant.prerelease? request_set.prerelease = Vagrant.prerelease? ||
Vagrant.allow_prerelease_dependencies?
installer_set = Gem::Resolver.compose_sets( installer_set = Gem::Resolver.compose_sets(
installer_set, installer_set,
@ -609,7 +610,7 @@ module Vagrant
install_path = extra[:env_local] ? env_plugin_gem_path : plugin_gem_path install_path = extra[:env_local] ? env_plugin_gem_path : plugin_gem_path
result = request_set.install_into(install_path.to_s, true, result = request_set.install_into(install_path.to_s, true,
ignore_dependencies: true, ignore_dependencies: true,
prerelease: Vagrant.prerelease?, prerelease: Vagrant.prerelease? || Vagrant.allow_prerelease_dependencies?,
wrappers: true, wrappers: true,
document: [] document: []
) )
@ -840,7 +841,7 @@ module Vagrant
def find_all(req) def find_all(req)
@specs.select do |spec| @specs.select do |spec|
allow_prerelease = Vagrant.allow_prerelease_dependencies? || allow_prerelease = Vagrant.allow_prerelease_dependencies? ||
spec.name == "vagrant" && Vagrant.prerelease? (spec.name == "vagrant" && Vagrant.prerelease?)
req.match?(spec, allow_prerelease) req.match?(spec, allow_prerelease)
end.map do |spec| end.map do |spec|
Gem::Resolver::InstalledSpecification.new(self, spec) Gem::Resolver::InstalledSpecification.new(self, spec)