From 51007446a75b27dc4e9ceff28f0a258e101696f2 Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Sun, 19 Jan 2020 07:10:19 +0900 Subject: Add support for BUNDLER_ prefixed debug environment variables DEBUG_RESOLVER is used in RubyGems too. So we can't enable it only for Bundler. --- lib/bundler/gem_version_promoter.rb | 2 +- lib/bundler/resolver.rb | 7 ++++++- spec/install/gems/resolving_spec.rb | 14 ++++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/lib/bundler/gem_version_promoter.rb b/lib/bundler/gem_version_promoter.rb index 311b0cbbf3..76912940ac 100644 --- a/lib/bundler/gem_version_promoter.rb +++ b/lib/bundler/gem_version_promoter.rb @@ -7,7 +7,7 @@ module Bundler # available dependency versions as found in its index, before returning it to # to the resolution engine to select the best version. class GemVersionPromoter - DEBUG = ENV["DEBUG_RESOLVER"] + DEBUG = ENV["BUNDLER_DEBUG_RESOLVER"] || ENV["DEBUG_RESOLVER"] attr_reader :level, :locked_specs, :unlock_gems diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb index 2374ed3e5a..8b029cc0dc 100644 --- a/lib/bundler/resolver.rb +++ b/lib/bundler/resolver.rb @@ -80,7 +80,12 @@ module Bundler def debug? return @debug_mode if defined?(@debug_mode) - @debug_mode = ENV["DEBUG_RESOLVER"] || ENV["DEBUG_RESOLVER_TREE"] || false + @debug_mode = + ENV["BUNDLER_DEBUG_RESOLVER"] || + ENV["BUNDLER_DEBUG_RESOLVER_TREE"] || + ENV["DEBUG_RESOLVER"] || + ENV["DEBUG_RESOLVER_TREE"] || + false end def before_resolution diff --git a/spec/install/gems/resolving_spec.rb b/spec/install/gems/resolving_spec.rb index d0448ca30b..323b28fdb1 100644 --- a/spec/install/gems/resolving_spec.rb +++ b/spec/install/gems/resolving_spec.rb @@ -69,6 +69,20 @@ RSpec.describe "bundle install with install-time dependencies" do expect(the_bundle).to include_gems "net_a 1.0", "net_b 1.0", "net_c 1.0", "net_d 1.0", "net_e 1.0" end + context "with ENV['BUNDLER_DEBUG_RESOLVER'] set" do + it "produces debug output" do + gemfile <<-G + source "#{file_uri_for(gem_repo1)}" + gem "net_c" + gem "net_e" + G + + bundle :install, :env => { "BUNDLER_DEBUG_RESOLVER" => "1" } + + expect(err).to include("Creating possibility state for net_c") + end + end + context "with ENV['DEBUG_RESOLVER'] set" do it "produces debug output" do gemfile <<-G -- cgit v1.2.1