rubygems-update 3.4.4 → 3.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 27d4df133281ea634bb43172b1fb833ad023a55e89e3cf571e368b3c5e604108
4
- data.tar.gz: ccc599c30b5061eab73168c9cfeb2cc754700bbc7bca69c0c5458419db9594a3
3
+ metadata.gz: e731d4ed24a0a921d89268a3434f7206ff3fd69b60fad4aa4994599453d366af
4
+ data.tar.gz: b605f1b59a612e68f947ea8ab1bce26f1e04cd965b0e626b89ac5180b27ebe3f
5
5
  SHA512:
6
- metadata.gz: 51e05cea34842a5a92669a88ff4612e94a7bcc1c582451765d789b77276c6029c9b2c1455446e1a97e907cb45bd3e99521923306481b57c15d108f2eabb435ef
7
- data.tar.gz: 7dbc9e40f4ea6a1ad27f4180fda0b52d5480d10690d5076d87f45bb3ee08e2bd65f136ce2765d7fe86d899c8c0be863c664ee80300ebc8d159e6ce92b6a8fb0f
6
+ metadata.gz: 8911316827bae22805af01029490d6dfa2e8b1fe4e67c1e1c753c6d73910b4c91f8ec6cab6c5673ea327f57ce4fe57f06901a894b04c323fe0f5db329d268c34
7
+ data.tar.gz: d5d6ff48dd8e598b2930047ea867dfe2560a3a9eacb8183f8da99ba24c4bac54612446b3dc4f9919d55274b52b41758d6aa2b7d96125786608972c5ad6a1ce53
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # 3.4.5 / 2023-01-21
2
+
3
+ ## Enhancements:
4
+
5
+ * Installs bundler 2.4.5 as a default gem.
6
+
1
7
  # 3.4.4 / 2023-01-16
2
8
 
3
9
  ## Enhancements:
data/bundler/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ # 2.4.5 (January 21, 2023)
2
+
3
+ ## Bug fixes:
4
+
5
+ - Fix `bundler/inline` not resolving properly if gems not preinstalled [#6282](https://github.com/rubygems/rubygems/pull/6282)
6
+ - Fix packages for external platforms being introduced in lockfile when Bundler retries resolution [#6285](https://github.com/rubygems/rubygems/pull/6285)
7
+
8
+ ## Documentation:
9
+
10
+ - Update bundle-exec man page to not use deprecated `Bundler.with_clean_env` [#6284](https://github.com/rubygems/rubygems/pull/6284)
11
+
1
12
  # 2.4.4 (January 16, 2023)
2
13
 
3
14
  ## Bug fixes:
@@ -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 = "2023-01-16".freeze
8
- @git_commit_sha = "e1c0b50e84".freeze
7
+ @built_at = "2023-01-21".freeze
8
+ @git_commit_sha = "d8ff3b6e4a".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -487,7 +487,7 @@ module Bundler
487
487
  end
488
488
 
489
489
  def expanded_dependencies
490
- @expanded_dependencies ||= dependencies + metadata_dependencies
490
+ dependencies + metadata_dependencies
491
491
  end
492
492
 
493
493
  def resolution_packages
@@ -551,13 +551,13 @@ module Bundler
551
551
  end
552
552
 
553
553
  def start_resolution
554
- result = resolver.start(expanded_dependencies)
554
+ result = resolver.start
555
555
 
556
556
  SpecSet.new(SpecSet.new(result).for(dependencies, false, @platforms))
557
557
  end
558
558
 
559
559
  def precompute_source_requirements_for_indirect_dependencies?
560
- @remote && sources.non_global_rubygems_sources.all?(&:dependency_api_available?) && !sources.aggregate_global_source?
560
+ sources.non_global_rubygems_sources.all?(&:dependency_api_available?) && !sources.aggregate_global_source?
561
561
  end
562
562
 
563
563
  def pin_locally_available_names(source_requirements)
@@ -74,13 +74,13 @@ Finally, \fBbundle exec\fR also implicitly modifies \fBGemfile\.lock\fR if the l
74
74
  By default, when attempting to \fBbundle exec\fR to a file with a ruby shebang, Bundler will \fBKernel\.load\fR that file instead of using \fBKernel\.exec\fR\. For the vast majority of cases, this is a performance improvement\. In a rare few cases, this could cause some subtle side\-effects (such as dependence on the exact contents of \fB$0\fR or \fB__FILE__\fR) and the optimization can be disabled by enabling the \fBdisable_exec_load\fR setting\.
75
75
  .
76
76
  .SS "Shelling out"
77
- Any Ruby code that opens a subshell (like \fBsystem\fR, backticks, or \fB%x{}\fR) will automatically use the current Bundler environment\. If you need to shell out to a Ruby command that is not part of your current bundle, use the \fBwith_clean_env\fR method with a block\. Any subshells created inside the block will be given the environment present before Bundler was activated\. For example, Homebrew commands run Ruby, but don\'t work inside a bundle:
77
+ Any Ruby code that opens a subshell (like \fBsystem\fR, backticks, or \fB%x{}\fR) will automatically use the current Bundler environment\. If you need to shell out to a Ruby command that is not part of your current bundle, use the \fBwith_unbundled_env\fR method with a block\. Any subshells created inside the block will be given the environment present before Bundler was activated\. For example, Homebrew commands run Ruby, but don\'t work inside a bundle:
78
78
  .
79
79
  .IP "" 4
80
80
  .
81
81
  .nf
82
82
 
83
- Bundler\.with_clean_env do
83
+ Bundler\.with_unbundled_env do
84
84
  `brew install wget`
85
85
  end
86
86
  .
@@ -89,13 +89,13 @@ end
89
89
  .IP "" 0
90
90
  .
91
91
  .P
92
- Using \fBwith_clean_env\fR is also necessary if you are shelling out to a different bundle\. Any Bundler commands run in a subshell will inherit the current Gemfile, so commands that need to run in the context of a different bundle also need to use \fBwith_clean_env\fR\.
92
+ Using \fBwith_unbundled_env\fR is also necessary if you are shelling out to a different bundle\. Any Bundler commands run in a subshell will inherit the current Gemfile, so commands that need to run in the context of a different bundle also need to use \fBwith_unbundled_env\fR\.
93
93
  .
94
94
  .IP "" 4
95
95
  .
96
96
  .nf
97
97
 
98
- Bundler\.with_clean_env do
98
+ Bundler\.with_unbundled_env do
99
99
  Dir\.chdir "/other/bundler/project" do
100
100
  `bundle exec \./script`
101
101
  end
@@ -84,20 +84,20 @@ the `disable_exec_load` setting.
84
84
  Any Ruby code that opens a subshell (like `system`, backticks, or `%x{}`) will
85
85
  automatically use the current Bundler environment. If you need to shell out to
86
86
  a Ruby command that is not part of your current bundle, use the
87
- `with_clean_env` method with a block. Any subshells created inside the block
87
+ `with_unbundled_env` method with a block. Any subshells created inside the block
88
88
  will be given the environment present before Bundler was activated. For
89
89
  example, Homebrew commands run Ruby, but don't work inside a bundle:
90
90
 
91
- Bundler.with_clean_env do
91
+ Bundler.with_unbundled_env do
92
92
  `brew install wget`
93
93
  end
94
94
 
95
- Using `with_clean_env` is also necessary if you are shelling out to a different
95
+ Using `with_unbundled_env` is also necessary if you are shelling out to a different
96
96
  bundle. Any Bundler commands run in a subshell will inherit the current
97
97
  Gemfile, so commands that need to run in the context of a different bundle also
98
- need to use `with_clean_env`.
98
+ need to use `with_unbundled_env`.
99
99
 
100
- Bundler.with_clean_env do
100
+ Bundler.with_unbundled_env do
101
101
  Dir.chdir "/other/bundler/project" do
102
102
  `bundle exec ./script`
103
103
  end
@@ -5,7 +5,7 @@ require_relative "package"
5
5
  module Bundler
6
6
  class Resolver
7
7
  class Base
8
- attr_reader :packages, :source_requirements
8
+ attr_reader :packages, :requirements, :source_requirements
9
9
 
10
10
  def initialize(source_requirements, dependencies, base, platforms, options)
11
11
  @source_requirements = source_requirements
@@ -16,11 +16,18 @@ module Bundler
16
16
  hash[name] = Package.new(name, platforms, **options)
17
17
  end
18
18
 
19
- dependencies.each do |dep|
19
+ @requirements = dependencies.map do |dep|
20
+ dep_platforms = dep.gem_platforms(platforms)
21
+
22
+ # Dependencies scoped to external platforms are ignored
23
+ next if dep_platforms.empty?
24
+
20
25
  name = dep.name
21
26
 
22
- @packages[name] = Package.new(name, dep.gem_platforms(platforms), **options.merge(:dependency => dep))
23
- end
27
+ @packages[name] = Package.new(name, dep_platforms, **options.merge(:dependency => dep))
28
+
29
+ dep
30
+ end.compact
24
31
  end
25
32
 
26
33
  def [](name)
@@ -21,8 +21,8 @@ module Bundler
21
21
  @gem_version_promoter = gem_version_promoter
22
22
  end
23
23
 
24
- def start(requirements)
25
- @requirements = requirements
24
+ def start
25
+ @requirements = @base.requirements
26
26
  @packages = @base.packages
27
27
 
28
28
  root, logger = setup_solver
@@ -331,15 +331,6 @@ module Bundler
331
331
  to_dependency_hash(requirements, packages).map do |dep_package, dep_constraint|
332
332
  name = dep_package.name
333
333
 
334
- # If a dependency is scoped to a platform different from the current
335
- # one, we ignore it. However, it may reappear during resolution as a
336
- # transitive dependency of another package, so we need to reset the
337
- # package so the proper versions are considered if reintroduced later.
338
- if dep_package.platforms.empty?
339
- @packages.delete(name)
340
- next
341
- end
342
-
343
334
  next [dep_package, dep_constraint] if name == "bundler"
344
335
 
345
336
  versions = versions_for(dep_package, dep_constraint.range)
@@ -292,7 +292,7 @@ module Bundler
292
292
  end
293
293
 
294
294
  def dependency_api_available?
295
- api_fetchers.any?
295
+ @allow_remote && api_fetchers.any?
296
296
  end
297
297
 
298
298
  protected
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "2.4.4".freeze
4
+ VERSION = "2.4.5".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.4.4".freeze
11
+ VERSION = "3.4.5".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.4.4"
5
+ s.version = "3.4.5"
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
 
@@ -680,8 +680,7 @@ class TestGemRequire < Gem::TestCase
680
680
  require "json"
681
681
  RUBY
682
682
  out = Gem::Util.popen({ "GEM_HOME" => @gemhome }, *ruby_with_rubygems_in_load_path, "-e", cmd)
683
- puts out
684
- assert $?.success?
683
+ assert_predicate $?, :success?, "Require failed due to #{out}"
685
684
  end
686
685
 
687
686
  private
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.4.4
4
+ version: 3.4.5
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: 2023-01-16 00:00:00.000000000 Z
19
+ date: 2023-01-21 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
@@ -834,7 +834,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
834
834
  - !ruby/object:Gem::Version
835
835
  version: '0'
836
836
  requirements: []
837
- rubygems_version: 3.4.4
837
+ rubygems_version: 3.4.5
838
838
  signing_key:
839
839
  specification_version: 4
840
840
  summary: RubyGems is a package management framework for Ruby.