Skip to content

Commit

Permalink
Merge pull request #13336 from chrisroberts/dep-enforcement
Browse files Browse the repository at this point in the history
Force strict dependencies for default gems
  • Loading branch information
chrisroberts committed Jan 19, 2024
2 parents 1f7c959 + f7185bc commit 3550c9b
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions lib/vagrant/bundler.rb
Original file line number Diff line number Diff line change
Expand Up @@ -523,10 +523,20 @@ def internal_install(plugins, update, **extra)
if Vagrant.strict_dependency_enforcement
@logger.debug("Enabling strict dependency enforcement")
plugin_deps += vagrant_internal_specs.map do |spec|
next if system_plugins.include?(spec.name)
# If this spec is for a default plugin included in
# the ruby stdlib, ignore it
next if spec.default_gem?
# NOTE: When working within bundler, skip any system plugins and
# default gems. However, when not within bundler (in the installer)
# include them as strict dependencies to prevent the resolver from
# attempting to create a solution with a newer version. The request
# set does allow for resolving conservatively but it can't be set
# from the public API (requires an instance variable set on the resolver
# instance) so strict dependencies are used instead.
if Vagrant.in_bundler?
next if system_plugins.include?(spec.name)
# # If this spec is for a default plugin included in
# # the ruby stdlib, ignore it
next if spec.default_gem?
end

# If we are not running within the installer and
# we are not within a bundler environment then we
# only want activated specs
Expand Down

0 comments on commit 3550c9b

Please sign in to comment.