bundler 2.4.4 → 2.4.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/definition.rb +3 -3
- data/lib/bundler/man/bundle-exec.1 +4 -4
- data/lib/bundler/man/bundle-exec.1.ronn +5 -5
- data/lib/bundler/resolver/base.rb +11 -4
- data/lib/bundler/resolver.rb +2 -11
- data/lib/bundler/source/rubygems.rb +1 -1
- data/lib/bundler/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0ed8153bf4161ce7da774eaa1abd23954e3ca61eb7ba730efcb934a6c13b2fe
|
4
|
+
data.tar.gz: 81f598764da83308327451e2ab17276401b9f89f6cd170f82c540b74e3038b41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 668e10c171354b03ee63547510c0e3cb57caa1146749b9f357ee36d74d9c3bfaa84283dc39d908b91a0e7870ecd673b392f7ea062e7987f9f833b492700f5533
|
7
|
+
data.tar.gz: b498147f45cdd036ba4cb3c8ed03eb6353397a5acbbe76fb0b2729c58a4fc99beb86247b6d410e3e55612b7f950d53bea05f705a8d387ed24ab00c47388e7a4a
|
data/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-
|
8
|
-
@git_commit_sha = "
|
7
|
+
@built_at = "2023-01-21".freeze
|
8
|
+
@git_commit_sha = "d8ff3b6e4a".freeze
|
9
9
|
@release = true
|
10
10
|
# end ivars
|
11
11
|
|
data/lib/bundler/definition.rb
CHANGED
@@ -487,7 +487,7 @@ module Bundler
|
|
487
487
|
end
|
488
488
|
|
489
489
|
def expanded_dependencies
|
490
|
-
|
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
|
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
|
-
|
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 \
|
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\.
|
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 \
|
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\.
|
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
|
-
`
|
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.
|
91
|
+
Bundler.with_unbundled_env do
|
92
92
|
`brew install wget`
|
93
93
|
end
|
94
94
|
|
95
|
-
Using `
|
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 `
|
98
|
+
need to use `with_unbundled_env`.
|
99
99
|
|
100
|
-
Bundler.
|
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.
|
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,
|
23
|
-
|
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)
|
data/lib/bundler/resolver.rb
CHANGED
@@ -21,8 +21,8 @@ module Bundler
|
|
21
21
|
@gem_version_promoter = gem_version_promoter
|
22
22
|
end
|
23
23
|
|
24
|
-
def start
|
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)
|
data/lib/bundler/version.rb
CHANGED
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.4.
|
4
|
+
version: 2.4.5
|
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: 2023-01-
|
25
|
+
date: 2023-01-21 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
|
@@ -380,7 +380,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
380
380
|
- !ruby/object:Gem::Version
|
381
381
|
version: 3.0.1
|
382
382
|
requirements: []
|
383
|
-
rubygems_version: 3.4.
|
383
|
+
rubygems_version: 3.4.5
|
384
384
|
signing_key:
|
385
385
|
specification_version: 4
|
386
386
|
summary: The best way to manage your application's dependencies
|