bundler 2.3.6 → 2.3.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a47da55ac7611bc2d11a3e51335e288b92eee55c4f9fc9359372cd6f22ee4467
4
- data.tar.gz: dcc894fbd93a03bf1b7e26613ae130524f54dbc8f16bad8d8adf94920138b733
3
+ metadata.gz: afa073e2d0f107d4d7c2c6906c399d5a04973d85c45416643a40ae23cf2acfe7
4
+ data.tar.gz: 7173281106d774a25a867f141a752e7b9617a36811375276d592f208e1dd7646
5
5
  SHA512:
6
- metadata.gz: 4be9c6e3666eca2820132aaf02969ace58cbe9530743cbe34192c626f777a71c9997ad3e4d82a5c06dbcc111a5b45c669ffdde45b855cb62e49df2667b0c088e
7
- data.tar.gz: 6cddfad4cec130c09bab8abef8608a1379bf07782bb36960fffbe4db071231e9dd3e4f0617573b9131b7a1a2e2faf3af81654b39a42d1c7e506297c0492f04d6
6
+ metadata.gz: 6c97e621ce961b554ce5a20ee0e78d4ada40fdf169994e9a67dd45bd1df4a29fe936dc79bfb3b4d01a3eb1bf91ae6d33b5028f291ba59cefaf506dccb9e4d53c
7
+ data.tar.gz: 6d58dbb998751182e6b9fb3f1b6cd41626202dfb92c76a7744346068b0e854d6813e8b62cf5288170f04f3744cc5ea5cb55fcf6da80b17c37ad7db3f15d0098a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ # 2.3.7 (February 9, 2022)
2
+
3
+ ## Enhancements:
4
+
5
+ - Don't activate `yaml` gem from Bundler [#5277](https://github.com/rubygems/rubygems/pull/5277)
6
+ - Add Reverse Dependencies section to info command [#3966](https://github.com/rubygems/rubygems/pull/3966)
7
+
8
+ ## Bug fixes:
9
+
10
+ - Don't silently persist `BUNDLE_WITH` and `BUNDLE_WITHOUT` envs locally [#5335](https://github.com/rubygems/rubygems/pull/5335)
11
+ - Fix `bundle config` inside an application saving configuration globally [#4152](https://github.com/rubygems/rubygems/pull/4152)
12
+
1
13
  # 2.3.6 (January 26, 2022)
2
14
 
3
15
  ## Enhancements:
@@ -4,8 +4,8 @@ module Bundler
4
4
  # Represents metadata from when the Bundler gem was built.
5
5
  module BuildMetadata
6
6
  # begin ivars
7
- @built_at = "2022-01-26".freeze
8
- @git_commit_sha = "056f64c33a".freeze
7
+ @built_at = "2022-02-09".freeze
8
+ @git_commit_sha = "bafe43c593".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -180,7 +180,7 @@ module Bundler
180
180
  scopes = %w[global local].select {|s| options[s] }
181
181
  case scopes.size
182
182
  when 0
183
- @scope = "global"
183
+ @scope = inside_app? ? "local" : "global"
184
184
  @explicit_scope = false
185
185
  when 1
186
186
  @scope = scopes.first
@@ -189,6 +189,15 @@ module Bundler
189
189
  "The options #{scopes.join " and "} were specified. Please only use one of the switches at a time."
190
190
  end
191
191
  end
192
+
193
+ private
194
+
195
+ def inside_app?
196
+ Bundler.root
197
+ true
198
+ rescue GemfileNotFound
199
+ false
200
+ end
192
201
  end
193
202
  end
194
203
  end
@@ -73,7 +73,8 @@ module Bundler
73
73
  gem_info << "\tBug Tracker: #{metadata["bug_tracker_uri"]}\n" if metadata.key?("bug_tracker_uri")
74
74
  gem_info << "\tMailing List: #{metadata["mailing_list_uri"]}\n" if metadata.key?("mailing_list_uri")
75
75
  gem_info << "\tPath: #{spec.full_gem_path}\n"
76
- gem_info << "\tDefault Gem: yes" if spec.respond_to?(:default_gem?) && spec.default_gem?
76
+ gem_info << "\tDefault Gem: yes\n" if spec.respond_to?(:default_gem?) && spec.default_gem?
77
+ gem_info << "\tReverse Dependencies: \n\t\t#{gem_dependencies.join("\n\t\t")}" if gem_dependencies.any?
77
78
 
78
79
  if name != "bundler" && spec.deleted_gem?
79
80
  return Bundler.ui.warn "The gem #{name} has been deleted. Gemspec information is still available though:\n#{gem_info}"
@@ -81,5 +82,13 @@ module Bundler
81
82
 
82
83
  Bundler.ui.info gem_info
83
84
  end
85
+
86
+ def gem_dependencies
87
+ @gem_dependencies ||= Bundler.definition.specs.map do |spec|
88
+ dependency = spec.dependencies.find {|dep| dep.name == gem_name }
89
+ next unless dependency
90
+ "#{spec.name} (#{spec.version}) depends on #{gem_name} (#{dependency.requirements_list.join(", ")})"
91
+ end.compact.sort
92
+ end
84
93
  end
85
94
  end
@@ -135,32 +135,13 @@ module Bundler
135
135
  end
136
136
 
137
137
  def normalize_groups
138
- options[:with] &&= options[:with].join(":").tr(" ", ":").split(":")
139
- options[:without] &&= options[:without].join(":").tr(" ", ":").split(":")
140
-
141
138
  check_for_group_conflicts_in_cli_options
142
139
 
143
- Bundler.settings.set_command_option :with, nil if options[:with] == []
144
- Bundler.settings.set_command_option :without, nil if options[:without] == []
145
-
146
- with = options.fetch(:with, [])
147
- with |= Bundler.settings[:with].map(&:to_s)
148
- with -= options[:without] if options[:without]
149
-
150
- without = options.fetch(:without, [])
151
- without |= Bundler.settings[:without].map(&:to_s)
152
- without -= options[:with] if options[:with]
153
-
154
- options[:with] = with
155
- options[:without] = without
156
-
157
- unless Bundler.settings[:without] == options[:without] && Bundler.settings[:with] == options[:with]
158
- # need to nil them out first to get around validation for backwards compatibility
159
- Bundler.settings.set_command_option :without, nil
160
- Bundler.settings.set_command_option :with, nil
161
- Bundler.settings.set_command_option :without, options[:without] - options[:with]
162
- Bundler.settings.set_command_option :with, options[:with]
163
- end
140
+ # need to nil them out first to get around validation for backwards compatibility
141
+ Bundler.settings.set_command_option :without, nil
142
+ Bundler.settings.set_command_option :with, nil
143
+ Bundler.settings.set_command_option :without, options[:without]
144
+ Bundler.settings.set_command_option :with, options[:with]
164
145
  end
165
146
 
166
147
  def normalize_settings
@@ -184,7 +165,7 @@ module Bundler
184
165
 
185
166
  Bundler.settings.set_command_option_if_given :clean, options["clean"]
186
167
 
187
- normalize_groups
168
+ normalize_groups if options[:without] || options[:with]
188
169
 
189
170
  options[:force] = options[:redownload]
190
171
  end
@@ -240,7 +240,7 @@ module Bundler
240
240
  raise SSLError if needs_ssl && !defined?(OpenSSL::SSL)
241
241
 
242
242
  con = PersistentHTTP.new :name => "bundler", :proxy => :ENV
243
- if gem_proxy = Bundler.rubygems.configuration[:http_proxy]
243
+ if gem_proxy = Gem.configuration[:http_proxy]
244
244
  con.proxy = Bundler::URI.parse(gem_proxy) if gem_proxy != :no_proxy
245
245
  end
246
246
 
@@ -251,8 +251,8 @@ module Bundler
251
251
  end
252
252
 
253
253
  ssl_client_cert = Bundler.settings[:ssl_client_cert] ||
254
- (Bundler.rubygems.configuration.ssl_client_cert if
255
- Bundler.rubygems.configuration.respond_to?(:ssl_client_cert))
254
+ (Gem.configuration.ssl_client_cert if
255
+ Gem.configuration.respond_to?(:ssl_client_cert))
256
256
  if ssl_client_cert
257
257
  pem = File.read(ssl_client_cert)
258
258
  con.cert = OpenSSL::X509::Certificate.new(pem)
@@ -283,8 +283,8 @@ module Bundler
283
283
  def bundler_cert_store
284
284
  store = OpenSSL::X509::Store.new
285
285
  ssl_ca_cert = Bundler.settings[:ssl_ca_cert] ||
286
- (Bundler.rubygems.configuration.ssl_ca_cert if
287
- Bundler.rubygems.configuration.respond_to?(:ssl_ca_cert))
286
+ (Gem.configuration.ssl_ca_cert if
287
+ Gem.configuration.respond_to?(:ssl_ca_cert))
288
288
  if ssl_ca_cert
289
289
  if File.directory? ssl_ca_cert
290
290
  store.add_path ssl_ca_cert
@@ -4,14 +4,12 @@ require "pathname"
4
4
 
5
5
  require "rubygems/specification"
6
6
 
7
- # Possible use in Gem::Specification#source below and require
8
- # shouldn't be deferred.
9
- require "rubygems/source"
10
-
11
7
  require_relative "match_platform"
12
8
 
13
9
  module Gem
14
10
  class Specification
11
+ include ::Bundler::MatchPlatform
12
+
15
13
  attr_accessor :remote, :location, :relative_loaded_from
16
14
 
17
15
  remove_method :source
@@ -81,6 +79,17 @@ module Gem
81
79
  gemfile
82
80
  end
83
81
 
82
+ # Backfill missing YAML require when not defined. Fixed since 3.1.0.pre1.
83
+ module YamlBackfiller
84
+ def to_yaml(opts = {})
85
+ Gem.load_yaml unless defined?(::YAML)
86
+
87
+ super(opts)
88
+ end
89
+ end
90
+
91
+ prepend YamlBackfiller
92
+
84
93
  def nondevelopment_dependencies
85
94
  dependencies - development_dependencies
86
95
  end
@@ -228,9 +237,3 @@ module Gem
228
237
  end
229
238
  end
230
239
  end
231
-
232
- module Gem
233
- class Specification
234
- include ::Bundler::MatchPlatform
235
- end
236
- end
@@ -104,18 +104,6 @@ module Bundler
104
104
  obj.to_s
105
105
  end
106
106
 
107
- def configuration
108
- require_relative "psyched_yaml"
109
- Gem.configuration
110
- rescue Gem::SystemExitException, LoadError => e
111
- Bundler.ui.error "#{e.class}: #{e.message}"
112
- Bundler.ui.trace e
113
- raise
114
- rescue ::Psych::SyntaxError => e
115
- raise YamlSyntaxError.new(e, "Your RubyGems configuration, which is " \
116
- "usually located in ~/.gemrc, contains invalid YAML syntax.")
117
- end
118
-
119
107
  def ruby_engine
120
108
  Gem.ruby_engine
121
109
  end
@@ -217,7 +205,7 @@ module Bundler
217
205
 
218
206
  def spec_from_gem(path, policy = nil)
219
207
  require "rubygems/security"
220
- require_relative "psyched_yaml"
208
+ require "psych"
221
209
  gem_from_path(path, security_policies[policy]).spec
222
210
  rescue Exception, Gem::Exception, Gem::Security::Exception => e # rubocop:disable Lint/RescueException
223
211
  if e.is_a?(Gem::Security::Exception) ||
@@ -522,7 +510,7 @@ module Bundler
522
510
 
523
511
  def gem_remote_fetcher
524
512
  require "rubygems/remote_fetcher"
525
- proxy = configuration[:http_proxy]
513
+ proxy = Gem.configuration[:http_proxy]
526
514
  Gem::RemoteFetcher.new(proxy)
527
515
  end
528
516
 
@@ -367,7 +367,7 @@ module Bundler
367
367
 
368
368
  def to_array(value)
369
369
  return [] unless value
370
- value.split(":").map(&:to_sym)
370
+ value.tr(" ", ":").split(":").map(&:to_sym)
371
371
  end
372
372
 
373
373
  def array_to_s(array)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "2.3.6".freeze
4
+ VERSION = "2.3.7".freeze
5
5
 
6
6
  def self.bundler_major_version
7
7
  @bundler_major_version ||= VERSION.split(".").first.to_i
data/lib/bundler.rb CHANGED
@@ -654,7 +654,7 @@ EOF
654
654
  private
655
655
 
656
656
  def eval_yaml_gemspec(path, contents)
657
- require_relative "bundler/psyched_yaml"
657
+ Kernel.require "psych"
658
658
 
659
659
  Gem::Specification.from_yaml(contents)
660
660
  rescue ::Psych::SyntaxError, ArgumentError, Gem::EndOfYAMLException, Gem::Exception
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bundler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.6
4
+ version: 2.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - André Arko
@@ -22,7 +22,7 @@ authors:
22
22
  autorequire:
23
23
  bindir: exe
24
24
  cert_chain: []
25
- date: 2022-01-26 00:00:00.000000000 Z
25
+ date: 2022-02-09 00:00:00.000000000 Z
26
26
  dependencies: []
27
27
  description: Bundler manages an application's dependencies through its entire life,
28
28
  across many machines, systematically and repeatably
@@ -178,7 +178,6 @@ files:
178
178
  - lib/bundler/plugin/installer/rubygems.rb
179
179
  - lib/bundler/plugin/source_list.rb
180
180
  - lib/bundler/process_lock.rb
181
- - lib/bundler/psyched_yaml.rb
182
181
  - lib/bundler/remote_specification.rb
183
182
  - lib/bundler/resolver.rb
184
183
  - lib/bundler/resolver/spec_group.rb
@@ -370,7 +369,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
370
369
  - !ruby/object:Gem::Version
371
370
  version: 2.5.2
372
371
  requirements: []
373
- rubygems_version: 3.3.6
372
+ rubygems_version: 3.3.7
374
373
  signing_key:
375
374
  specification_version: 4
376
375
  summary: The best way to manage your application's dependencies
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- begin
4
- require "psych"
5
- rescue LoadError
6
- # Apparently Psych wasn't available. Oh well.
7
- end
8
-
9
- # At least load the YAML stdlib, whatever that may be
10
- require "yaml" unless defined?(YAML.dump)