rubygems-update 3.3.26 → 3.3.27

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: e15fba091e0f0303d0ac5480a0f0f5198156cc5a46b5b6a2e20d008da275fbb4
4
- data.tar.gz: 9941c6a073821a2d2d651ee692f3118b2696d34f194b3d81037a246780f51454
3
+ metadata.gz: 408d9d522251e2fb954bfdf84102ada35c4e3566cd6f6bc4601258de20aaa289
4
+ data.tar.gz: 757b2eebebe6a052bcbc0c29d5b720501024af1f2127a588b3b19acfc0bdf2f6
5
5
  SHA512:
6
- metadata.gz: f68f3c6385129bc8777ed4018aa651a0960500efa2fbe07190473589ee421cd927e8eeec5abbaa44b4162efa90a671227d4cd86161c706bdd60c0c4dd8ac06c6
7
- data.tar.gz: 47b1eeb8a5ecc12006e6aa01afbdeebf20fd820bf868714c99c8338de484af5b803e289941d33279e47882d6b07d79789472ca1a19dd3d19e14c263c0eb39ff1
6
+ metadata.gz: 7d44e28517679d5a93af05db7a4886510a86e0a286bcce642d582427abfad81123ac551003f3076731ec8034909e68adc9068194ff4429f74788bf2e06a76f6d
7
+ data.tar.gz: f0b21ecf2a8bb7e34c5f25d38d27dc47b1e1b94255c616b3bf29e28d6f9fd4eb45794ff80d1f7ae91c45e40ca0542f6e5c52ca1b62c9e3893829da1bce841457
@@ -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-11-17".freeze
8
- @git_commit_sha = "23ec5b8501".freeze
7
+ @built_at = "2023-11-10".freeze
8
+ @git_commit_sha = "d1204e84f1".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -71,6 +71,7 @@ module Bundler
71
71
  when Gem::Specification, RemoteSpecification, LazySpecification, EndpointSpecification then search_by_spec(query)
72
72
  when String then specs_by_name(query)
73
73
  when Gem::Dependency then search_by_dependency(query)
74
+ when Array then search_by_name_and_version(*query)
74
75
  else
75
76
  raise "You can't search for a #{query.inspect}."
76
77
  end
@@ -173,6 +174,10 @@ module Bundler
173
174
  end
174
175
  end
175
176
 
177
+ def search_by_name_and_version(name, version)
178
+ specs_by_name(name).select {|spec| spec.version == version }
179
+ end
180
+
176
181
  EMPTY_SEARCH = [].freeze
177
182
 
178
183
  def search_by_spec(spec)
@@ -13,7 +13,6 @@ module Bundler
13
13
  @dependencies = []
14
14
  @platform = platform || Gem::Platform::RUBY
15
15
  @source = source
16
- @specification = nil
17
16
  end
18
17
 
19
18
  def full_name
@@ -76,37 +75,46 @@ module Bundler
76
75
  def materialize_for_installation
77
76
  source.local!
78
77
 
79
- candidates = if source.is_a?(Source::Path) || !ruby_platform_materializes_to_ruby_platform?
80
- target_platform = ruby_platform_materializes_to_ruby_platform? ? platform : local_platform
78
+ matching_specs = source.specs.search(use_exact_resolved_specifications? ? self : [name, version])
79
+ return self if matching_specs.empty?
81
80
 
82
- GemHelpers.select_best_platform_match(source.specs.search(Dependency.new(name, version)), target_platform)
81
+ candidates = if use_exact_resolved_specifications?
82
+ matching_specs
83
83
  else
84
- source.specs.search(self)
85
- end
84
+ target_platform = ruby_platform_materializes_to_ruby_platform? ? platform : local_platform
86
85
 
87
- return self if candidates.empty?
86
+ installable_candidates = GemHelpers.select_best_platform_match(matching_specs, target_platform)
88
87
 
89
- __materialize__(candidates)
90
- end
88
+ specification = __materialize__(installable_candidates, :fallback_to_non_installable => false)
89
+ return specification unless specification.nil?
91
90
 
92
- def __materialize__(candidates)
93
- @specification = begin
94
- search = candidates.reverse.find do |spec|
95
- spec.is_a?(StubSpecification) ||
96
- (spec.matches_current_ruby? &&
97
- spec.matches_current_rubygems?)
98
- end
99
- if search.nil? && Bundler.frozen_bundle?
100
- search = candidates.last
101
- else
102
- search.dependencies = dependencies if search && search.full_name == full_name && (search.is_a?(RemoteSpecification) || search.is_a?(EndpointSpecification))
91
+ if target_platform != platform
92
+ installable_candidates = GemHelpers.select_best_platform_match(matching_specs, platform)
103
93
  end
104
- search
94
+
95
+ installable_candidates
105
96
  end
97
+
98
+ __materialize__(candidates)
106
99
  end
107
100
 
108
- def respond_to?(*args)
109
- super || @specification ? @specification.respond_to?(*args) : nil
101
+ # If in frozen mode, we fallback to a non-installable candidate because by
102
+ # doing this we avoid re-resolving and potentially end up changing the
103
+ # lock file, which is not allowed. In that case, we will give a proper error
104
+ # about the mismatch higher up the stack, right before trying to install the
105
+ # bad gem.
106
+ def __materialize__(candidates, fallback_to_non_installable: Bundler.frozen_bundle?)
107
+ search = candidates.reverse.find do |spec|
108
+ spec.is_a?(StubSpecification) ||
109
+ (spec.matches_current_ruby? &&
110
+ spec.matches_current_rubygems?)
111
+ end
112
+ if search.nil? && fallback_to_non_installable
113
+ search = candidates.last
114
+ else
115
+ search.dependencies = dependencies if search && search.full_name == full_name && (search.is_a?(RemoteSpecification) || search.is_a?(EndpointSpecification))
116
+ end
117
+ search
110
118
  end
111
119
 
112
120
  def to_s
@@ -128,16 +136,8 @@ module Bundler
128
136
 
129
137
  private
130
138
 
131
- def to_ary
132
- nil
133
- end
134
-
135
- def method_missing(method, *args, &blk)
136
- raise "LazySpecification has not been materialized yet (calling :#{method} #{args.inspect})" unless @specification
137
-
138
- return super unless respond_to?(method)
139
-
140
- @specification.send(method, *args, &blk)
139
+ def use_exact_resolved_specifications?
140
+ @use_exact_resolved_specifications ||= !source.is_a?(Source::Path) && ruby_platform_materializes_to_ruby_platform?
141
141
  end
142
142
 
143
143
  #
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "2.3.26".freeze
4
+ VERSION = "2.3.27".freeze
5
5
 
6
6
  def self.bundler_major_version
7
7
  @bundler_major_version ||= VERSION.split(".").first.to_i
data/lib/rubygems.rb CHANGED
@@ -8,7 +8,7 @@
8
8
  require "rbconfig"
9
9
 
10
10
  module Gem
11
- VERSION = "3.3.26".freeze
11
+ VERSION = "3.3.27".freeze
12
12
  end
13
13
 
14
14
  # Must be first since it unloads the prelude from 1.9.2
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "rubygems-update"
5
- s.version = "3.3.26"
5
+ s.version = "3.3.27"
6
6
  s.authors = ["Jim Weirich", "Chad Fowler", "Eric Hodel", "Luis Lavena", "Aaron Patterson", "Samuel Giddins", "André Arko", "Evan Phoenix", "Hiroshi SHIBATA"]
7
7
  s.email = ["", "", "drbrain@segment7.net", "luislavena@gmail.com", "aaron@tenderlovemaking.com", "segiddins@segiddins.me", "andre@arko.net", "evan@phx.io", "hsbt@ruby-lang.org"]
8
8
 
@@ -164,6 +164,7 @@ class TestGemExtCargoBuilder < Gem::TestCase
164
164
  def skip_unsupported_platforms!
165
165
  pend "jruby not supported" if java_platform?
166
166
  pend "truffleruby not supported (yet)" if RUBY_ENGINE == "truffleruby"
167
+ pend "mingw platform failed in 2023" if /mingw/ =~ RUBY_PLATFORM && ENV.key?("GITHUB_ACTIONS")
167
168
  pend "mswin not supported (yet)" if /mswin/ =~ RUBY_PLATFORM && ENV.key?("GITHUB_ACTIONS")
168
169
  system(@rust_envs, "cargo", "-V", out: IO::NULL, err: [:child, :out])
169
170
  pend "cargo not present" unless $?.success?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygems-update
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.26
4
+ version: 3.3.27
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -16,7 +16,7 @@ authors:
16
16
  autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
- date: 2022-11-17 00:00:00.000000000 Z
19
+ date: 2023-11-10 00:00:00.000000000 Z
20
20
  dependencies: []
21
21
  description: |-
22
22
  A package (also known as a library) contains a set of functionality
@@ -831,7 +831,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
831
831
  - !ruby/object:Gem::Version
832
832
  version: '0'
833
833
  requirements: []
834
- rubygems_version: 3.3.26
834
+ rubygems_version: 3.5.0.dev
835
835
  signing_key:
836
836
  specification_version: 4
837
837
  summary: RubyGems is a package management framework for Ruby.