summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSutou Kouhei <kou@clear-code.com>2020-01-19 07:10:19 +0900
committerSutou Kouhei <kou@clear-code.com>2020-01-19 07:13:41 +0900
commit51007446a75b27dc4e9ceff28f0a258e101696f2 (patch)
treefc1e09655f76ebc8dd8635762cdfec52f7274665
parent482e752e515c701b371d706ed7a1db0ee48f26a0 (diff)
downloadbundler-51007446a75b27dc4e9ceff28f0a258e101696f2.tar.gz
Add support for BUNDLER_ prefixed debug environment variables
DEBUG_RESOLVER is used in RubyGems too. So we can't enable it only for Bundler.
-rw-r--r--lib/bundler/gem_version_promoter.rb2
-rw-r--r--lib/bundler/resolver.rb7
-rw-r--r--spec/install/gems/resolving_spec.rb14
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