bundler 2.3.5 → 2.3.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +38 -0
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/cli/config.rb +10 -1
- data/lib/bundler/cli/doctor.rb +9 -1
- data/lib/bundler/cli/gem.rb +11 -1
- data/lib/bundler/cli/info.rb +10 -1
- data/lib/bundler/cli/install.rb +6 -25
- data/lib/bundler/cli/platform.rb +1 -1
- data/lib/bundler/definition.rb +4 -2
- data/lib/bundler/env.rb +1 -1
- data/lib/bundler/fetcher.rb +5 -5
- data/lib/bundler/man/bundle-add.1 +1 -1
- data/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/lib/bundler/man/bundle-cache.1 +1 -1
- data/lib/bundler/man/bundle-check.1 +1 -1
- data/lib/bundler/man/bundle-clean.1 +1 -1
- data/lib/bundler/man/bundle-config.1 +2 -2
- data/lib/bundler/man/bundle-config.1.ronn +1 -1
- data/lib/bundler/man/bundle-doctor.1 +1 -1
- data/lib/bundler/man/bundle-exec.1 +1 -1
- data/lib/bundler/man/bundle-gem.1 +1 -1
- data/lib/bundler/man/bundle-info.1 +1 -1
- data/lib/bundler/man/bundle-init.1 +1 -1
- data/lib/bundler/man/bundle-inject.1 +1 -1
- data/lib/bundler/man/bundle-install.1 +1 -1
- data/lib/bundler/man/bundle-list.1 +1 -1
- data/lib/bundler/man/bundle-lock.1 +1 -1
- data/lib/bundler/man/bundle-open.1 +1 -1
- data/lib/bundler/man/bundle-outdated.1 +1 -1
- data/lib/bundler/man/bundle-platform.1 +1 -1
- data/lib/bundler/man/bundle-pristine.1 +1 -1
- data/lib/bundler/man/bundle-remove.1 +1 -1
- data/lib/bundler/man/bundle-show.1 +1 -1
- data/lib/bundler/man/bundle-update.1 +1 -1
- data/lib/bundler/man/bundle-viz.1 +1 -1
- data/lib/bundler/man/bundle.1 +1 -1
- data/lib/bundler/man/gemfile.5 +1 -1
- data/lib/bundler/remote_specification.rb +7 -0
- data/lib/bundler/resolver.rb +5 -4
- data/lib/bundler/rubygems_ext.rb +13 -10
- data/lib/bundler/rubygems_integration.rb +2 -14
- data/lib/bundler/settings.rb +1 -1
- data/lib/bundler/shared_helpers.rb +1 -1
- data/lib/bundler/source_map.rb +15 -2
- data/lib/bundler/templates/newgem/standard.yml.tt +1 -0
- data/lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt +1 -1
- data/lib/bundler/version.rb +1 -1
- data/lib/bundler.rb +1 -1
- metadata +3 -4
- data/lib/bundler/psyched_yaml.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1cd22c44b333d5ee1b022cb80963f4d0df33f5cc6b7c613d96cdaad4fcd56e7a
|
4
|
+
data.tar.gz: 17f7126e50ad56974f984a26c6cfd616f13bbf5af346e42fad71cc58ab23cf4e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94b9e0b6b4b32b1021ab2ab6b5ba9a9578b51b3d7c4bf76c729e238a1332800ac72d37a4500119efa446b7e9ddecb816b5db51e220d5d888f0a727b5d89013b4
|
7
|
+
data.tar.gz: 2ef45e7cef63d540d067d55692c6737b02cd7c6ded604a6a027bc909c29503377a07d76750b58a348c1a4a58b3db3a6e75663cc7ada764569a708091ca4c7ee0
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,41 @@
|
|
1
|
+
# 2.3.8 (February 23, 2022)
|
2
|
+
|
3
|
+
## Bug fixes:
|
4
|
+
|
5
|
+
- Fix corrupted lockfile when running `bundle check` and having to re-resolve locally [#5344](https://github.com/rubygems/rubygems/pull/5344)
|
6
|
+
- Fix typo in multiple gemfiles warning [#5342](https://github.com/rubygems/rubygems/pull/5342)
|
7
|
+
|
8
|
+
## Documentation:
|
9
|
+
|
10
|
+
- Add clarification for bundle-config "with" option [#5346](https://github.com/rubygems/rubygems/pull/5346)
|
11
|
+
|
12
|
+
# 2.3.7 (February 9, 2022)
|
13
|
+
|
14
|
+
## Enhancements:
|
15
|
+
|
16
|
+
- Don't activate `yaml` gem from Bundler [#5277](https://github.com/rubygems/rubygems/pull/5277)
|
17
|
+
- Add Reverse Dependencies section to info command [#3966](https://github.com/rubygems/rubygems/pull/3966)
|
18
|
+
|
19
|
+
## Bug fixes:
|
20
|
+
|
21
|
+
- Don't silently persist `BUNDLE_WITH` and `BUNDLE_WITHOUT` envs locally [#5335](https://github.com/rubygems/rubygems/pull/5335)
|
22
|
+
- Fix `bundle config` inside an application saving configuration globally [#4152](https://github.com/rubygems/rubygems/pull/4152)
|
23
|
+
|
24
|
+
# 2.3.6 (January 26, 2022)
|
25
|
+
|
26
|
+
## Enhancements:
|
27
|
+
|
28
|
+
- Use `Gem::Platform.local` instead of `RUBY_PLATFORM` when displaying local platform [#5306](https://github.com/rubygems/rubygems/pull/5306)
|
29
|
+
- Lock standard.yml to the required ruby version [#5284](https://github.com/rubygems/rubygems/pull/5284)
|
30
|
+
- Use `Fiddle` in `bundle doctor` to check for dynamic library presence [#5173](https://github.com/rubygems/rubygems/pull/5173)
|
31
|
+
|
32
|
+
## Bug fixes:
|
33
|
+
|
34
|
+
- Fix edge case where gems were incorrectly removed from the lockfile [#5302](https://github.com/rubygems/rubygems/pull/5302)
|
35
|
+
- Fix `force_ruby_platform` ignored when lockfile includes current specific platform [#5304](https://github.com/rubygems/rubygems/pull/5304)
|
36
|
+
- Create minitest file to underscored path in "bundle gem" command with dashed gem name [#5273](https://github.com/rubygems/rubygems/pull/5273)
|
37
|
+
- Fix regression with old marshaled specs having null `required_rubygems_version` [#5291](https://github.com/rubygems/rubygems/pull/5291)
|
38
|
+
|
1
39
|
# 2.3.5 (January 12, 2022)
|
2
40
|
|
3
41
|
## 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-
|
8
|
-
@git_commit_sha = "
|
7
|
+
@built_at = "2022-02-23".freeze
|
8
|
+
@git_commit_sha = "4e812b9ca5".freeze
|
9
9
|
@release = true
|
10
10
|
# end ivars
|
11
11
|
|
data/lib/bundler/cli/config.rb
CHANGED
@@ -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
|
data/lib/bundler/cli/doctor.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require "rbconfig"
|
4
4
|
require "shellwords"
|
5
|
+
require "fiddle"
|
5
6
|
|
6
7
|
module Bundler
|
7
8
|
class CLI::Doctor
|
@@ -71,7 +72,14 @@ module Bundler
|
|
71
72
|
|
72
73
|
definition.specs.each do |spec|
|
73
74
|
bundles_for_gem(spec).each do |bundle|
|
74
|
-
bad_paths = dylibs(bundle).select
|
75
|
+
bad_paths = dylibs(bundle).select do |f|
|
76
|
+
begin
|
77
|
+
Fiddle.dlopen(f)
|
78
|
+
false
|
79
|
+
rescue Fiddle::DLError
|
80
|
+
true
|
81
|
+
end
|
82
|
+
end
|
75
83
|
if bad_paths.any?
|
76
84
|
broken_links[spec] ||= []
|
77
85
|
broken_links[spec].concat(bad_paths)
|
data/lib/bundler/cli/gem.rb
CHANGED
@@ -38,6 +38,7 @@ module Bundler
|
|
38
38
|
namespaced_path = name.tr("-", "/")
|
39
39
|
constant_name = name.gsub(/-[_-]*(?![_-]|$)/) { "::" }.gsub(/([_-]+|(::)|^)(.|$)/) { $2.to_s + $3.upcase }
|
40
40
|
constant_array = constant_name.split("::")
|
41
|
+
minitest_constant_name = constant_array.clone.tap {|a| a[-1] = "Test#{a[-1]}" }.join("::") # Foo::Bar => Foo::TestBar
|
41
42
|
|
42
43
|
use_git = Bundler.git_present? && options[:git]
|
43
44
|
|
@@ -69,6 +70,7 @@ module Bundler
|
|
69
70
|
:git => use_git,
|
70
71
|
:github_username => github_username.empty? ? "[USERNAME]" : github_username,
|
71
72
|
:required_ruby_version => required_ruby_version,
|
73
|
+
:minitest_constant_name => minitest_constant_name,
|
72
74
|
}
|
73
75
|
ensure_safe_gem_name(name, constant_array)
|
74
76
|
|
@@ -104,9 +106,17 @@ module Bundler
|
|
104
106
|
)
|
105
107
|
config[:test_task] = :spec
|
106
108
|
when "minitest"
|
109
|
+
# Generate path for minitest target file (FileList["test/**/test_*.rb"])
|
110
|
+
# foo => test/test_foo.rb
|
111
|
+
# foo-bar => test/foo/test_bar.rb
|
112
|
+
# foo_bar => test/test_foo_bar.rb
|
113
|
+
paths = namespaced_path.rpartition("/")
|
114
|
+
paths[2] = "test_#{paths[2]}"
|
115
|
+
minitest_namespaced_path = paths.join("")
|
116
|
+
|
107
117
|
templates.merge!(
|
108
118
|
"test/minitest/test_helper.rb.tt" => "test/test_helper.rb",
|
109
|
-
"test/minitest/test_newgem.rb.tt" => "test
|
119
|
+
"test/minitest/test_newgem.rb.tt" => "test/#{minitest_namespaced_path}.rb"
|
110
120
|
)
|
111
121
|
config[:test_task] = :test
|
112
122
|
when "test-unit"
|
data/lib/bundler/cli/info.rb
CHANGED
@@ -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
|
data/lib/bundler/cli/install.rb
CHANGED
@@ -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
|
-
|
144
|
-
Bundler.settings.set_command_option :without, nil
|
145
|
-
|
146
|
-
|
147
|
-
|
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
|
data/lib/bundler/cli/platform.rb
CHANGED
@@ -23,7 +23,7 @@ module Bundler
|
|
23
23
|
output << "No ruby version specified"
|
24
24
|
end
|
25
25
|
else
|
26
|
-
output << "Your platform is: #{
|
26
|
+
output << "Your platform is: #{Gem::Platform.local}"
|
27
27
|
output << "Your app has gems that work on these platforms:\n#{platforms.join("\n")}"
|
28
28
|
|
29
29
|
if ruby_version
|
data/lib/bundler/definition.rb
CHANGED
@@ -265,7 +265,7 @@ module Bundler
|
|
265
265
|
else
|
266
266
|
# Run a resolve against the locally available gems
|
267
267
|
Bundler.ui.debug("Found changes from the lockfile, re-resolving dependencies because #{change_reason}")
|
268
|
-
expanded_dependencies = expand_dependencies(dependencies + metadata_dependencies,
|
268
|
+
expanded_dependencies = expand_dependencies(dependencies + metadata_dependencies, true)
|
269
269
|
Resolver.resolve(expanded_dependencies, source_requirements, last_resolve, gem_version_promoter, additional_base_requirements_for_resolve, platforms)
|
270
270
|
end
|
271
271
|
end
|
@@ -495,6 +495,7 @@ module Bundler
|
|
495
495
|
|
496
496
|
def current_ruby_platform_locked?
|
497
497
|
return false unless generic_local_platform == Gem::Platform::RUBY
|
498
|
+
return false if Bundler.settings[:force_ruby_platform] && !@platforms.include?(Gem::Platform::RUBY)
|
498
499
|
|
499
500
|
current_platform_locked?
|
500
501
|
end
|
@@ -781,6 +782,7 @@ module Bundler
|
|
781
782
|
else
|
782
783
|
{ :default => Source::RubygemsAggregate.new(sources, source_map) }.merge(source_map.direct_requirements)
|
783
784
|
end
|
785
|
+
source_requirements.merge!(source_map.locked_requirements) unless @remote
|
784
786
|
metadata_dependencies.each do |dep|
|
785
787
|
source_requirements[dep.name] = sources.metadata_source
|
786
788
|
end
|
@@ -827,7 +829,7 @@ module Bundler
|
|
827
829
|
end
|
828
830
|
|
829
831
|
def source_map
|
830
|
-
@source_map ||= SourceMap.new(sources, dependencies)
|
832
|
+
@source_map ||= SourceMap.new(sources, dependencies, @locked_specs)
|
831
833
|
end
|
832
834
|
end
|
833
835
|
end
|
data/lib/bundler/env.rb
CHANGED
@@ -71,7 +71,7 @@ module Bundler
|
|
71
71
|
def self.ruby_version
|
72
72
|
str = String.new(RUBY_VERSION)
|
73
73
|
str << "p#{RUBY_PATCHLEVEL}" if defined? RUBY_PATCHLEVEL
|
74
|
-
str << " (#{RUBY_RELEASE_DATE} revision #{RUBY_REVISION}) [#{
|
74
|
+
str << " (#{RUBY_RELEASE_DATE} revision #{RUBY_REVISION}) [#{Gem::Platform.local}]"
|
75
75
|
end
|
76
76
|
|
77
77
|
def self.git_version
|
data/lib/bundler/fetcher.rb
CHANGED
@@ -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 =
|
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
|
-
(
|
255
|
-
|
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
|
-
(
|
287
|
-
|
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
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-BINSTUBS" "1" "
|
4
|
+
.TH "BUNDLE\-BINSTUBS" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-CACHE" "1" "
|
4
|
+
.TH "BUNDLE\-CACHE" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-CHECK" "1" "
|
4
|
+
.TH "BUNDLE\-CHECK" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-CLEAN" "1" "
|
4
|
+
.TH "BUNDLE\-CLEAN" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-CONFIG" "1" "
|
4
|
+
.TH "BUNDLE\-CONFIG" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-config\fR \- Set bundler configuration options
|
@@ -83,7 +83,7 @@ A space\-separated list of groups referencing gems to skip during installation\.
|
|
83
83
|
.
|
84
84
|
.TP
|
85
85
|
\fBwith\fR
|
86
|
-
A space\-separated list of groups referencing gems to include during installation\.
|
86
|
+
A space\-separated list of \fBoptional\fR groups referencing gems to include during installation\.
|
87
87
|
.
|
88
88
|
.SH "BUILD OPTIONS"
|
89
89
|
You can use \fBbundle config\fR to give Bundler the flags to pass to the gem installer every time bundler tries to install a particular gem\.
|
@@ -83,7 +83,7 @@ The options that can be configured are:
|
|
83
83
|
A space-separated list of groups referencing gems to skip during installation.
|
84
84
|
|
85
85
|
* `with`:
|
86
|
-
A space-separated list of groups referencing gems to include during installation.
|
86
|
+
A space-separated list of **optional** groups referencing gems to include during installation.
|
87
87
|
|
88
88
|
## BUILD OPTIONS
|
89
89
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-GEM" "1" "
|
4
|
+
.TH "BUNDLE\-GEM" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INFO" "1" "
|
4
|
+
.TH "BUNDLE\-INFO" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-info\fR \- Show information for the given gem in your bundle
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INIT" "1" "
|
4
|
+
.TH "BUNDLE\-INIT" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-init\fR \- Generates a Gemfile into the current working directory
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INJECT" "1" "
|
4
|
+
.TH "BUNDLE\-INJECT" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-INSTALL" "1" "
|
4
|
+
.TH "BUNDLE\-INSTALL" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-LOCK" "1" "
|
4
|
+
.TH "BUNDLE\-LOCK" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-lock\fR \- Creates / Updates a lockfile without installing
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-OPEN" "1" "
|
4
|
+
.TH "BUNDLE\-OPEN" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-OUTDATED" "1" "
|
4
|
+
.TH "BUNDLE\-OUTDATED" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-outdated\fR \- List installed gems with newer versions available
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-PLATFORM" "1" "
|
4
|
+
.TH "BUNDLE\-PLATFORM" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-platform\fR \- Displays platform compatibility information
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-PRISTINE" "1" "
|
4
|
+
.TH "BUNDLE\-PRISTINE" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-SHOW" "1" "
|
4
|
+
.TH "BUNDLE\-SHOW" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-UPDATE" "1" "
|
4
|
+
.TH "BUNDLE\-UPDATE" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-update\fR \- Update your gems to the latest available versions
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-VIZ" "1" "
|
4
|
+
.TH "BUNDLE\-VIZ" "1" "February 2022" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile
|
data/lib/bundler/man/bundle.1
CHANGED
data/lib/bundler/man/gemfile.5
CHANGED
@@ -27,6 +27,13 @@ module Bundler
|
|
27
27
|
@platform = _remote_specification.platform
|
28
28
|
end
|
29
29
|
|
30
|
+
# A fallback is included because the original version of the specification
|
31
|
+
# API didn't include that field, so some marshalled specs in the index have it
|
32
|
+
# set to +nil+.
|
33
|
+
def required_rubygems_version
|
34
|
+
@required_rubygems_version ||= _remote_specification.required_rubygems_version || Gem::Requirement.default
|
35
|
+
end
|
36
|
+
|
30
37
|
def full_name
|
31
38
|
if platform == Gem::Platform::RUBY || platform.nil?
|
32
39
|
"#{@name}-#{@version}"
|
data/lib/bundler/resolver.rb
CHANGED
@@ -249,10 +249,11 @@ module Bundler
|
|
249
249
|
end
|
250
250
|
|
251
251
|
def verify_gemfile_dependencies_are_found!(requirements)
|
252
|
-
requirements.
|
252
|
+
requirements.map! do |requirement|
|
253
253
|
name = requirement.name
|
254
|
-
next if name == "bundler"
|
255
|
-
next unless search_for(requirement).empty?
|
254
|
+
next requirement if name == "bundler"
|
255
|
+
next requirement unless search_for(requirement).empty?
|
256
|
+
next unless requirement.current_platform?
|
256
257
|
|
257
258
|
if (base = @base[name]) && !base.empty?
|
258
259
|
version = base.first.version
|
@@ -266,7 +267,7 @@ module Bundler
|
|
266
267
|
message = gem_not_found_message(name, requirement, source_for(name))
|
267
268
|
end
|
268
269
|
raise GemNotFound, message
|
269
|
-
end
|
270
|
+
end.compact!
|
270
271
|
end
|
271
272
|
|
272
273
|
def gem_not_found_message(name, requirement, source, extra_message = "")
|
data/lib/bundler/rubygems_ext.rb
CHANGED
@@ -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
|
-
|
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
|
|
data/lib/bundler/settings.rb
CHANGED
@@ -141,7 +141,7 @@ module Bundler
|
|
141
141
|
end
|
142
142
|
return unless multiple_gemfiles
|
143
143
|
message = "Multiple gemfiles (gems.rb and Gemfile) detected. " \
|
144
|
-
"Make sure you remove Gemfile and Gemfile.lock since bundler is ignoring them in favor of gems.rb and gems.
|
144
|
+
"Make sure you remove Gemfile and Gemfile.lock since bundler is ignoring them in favor of gems.rb and gems.locked."
|
145
145
|
Bundler.ui.warn message
|
146
146
|
end
|
147
147
|
|
data/lib/bundler/source_map.rb
CHANGED
@@ -2,11 +2,12 @@
|
|
2
2
|
|
3
3
|
module Bundler
|
4
4
|
class SourceMap
|
5
|
-
attr_reader :sources, :dependencies
|
5
|
+
attr_reader :sources, :dependencies, :locked_specs
|
6
6
|
|
7
|
-
def initialize(sources, dependencies)
|
7
|
+
def initialize(sources, dependencies, locked_specs)
|
8
8
|
@sources = sources
|
9
9
|
@dependencies = dependencies
|
10
|
+
@locked_specs = locked_specs
|
10
11
|
end
|
11
12
|
|
12
13
|
def pinned_spec_names(skip = nil)
|
@@ -54,5 +55,17 @@ module Bundler
|
|
54
55
|
requirements
|
55
56
|
end
|
56
57
|
end
|
58
|
+
|
59
|
+
def locked_requirements
|
60
|
+
@locked_requirements ||= begin
|
61
|
+
requirements = {}
|
62
|
+
locked_specs.each do |locked_spec|
|
63
|
+
source = locked_spec.source
|
64
|
+
source.add_dependency_names(locked_spec.name)
|
65
|
+
requirements[locked_spec.name] = source
|
66
|
+
end
|
67
|
+
requirements
|
68
|
+
end
|
69
|
+
end
|
57
70
|
end
|
58
71
|
end
|
data/lib/bundler/version.rb
CHANGED
data/lib/bundler.rb
CHANGED
@@ -654,7 +654,7 @@ EOF
|
|
654
654
|
private
|
655
655
|
|
656
656
|
def eval_yaml_gemspec(path, contents)
|
657
|
-
|
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.
|
4
|
+
version: 2.3.8
|
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-
|
25
|
+
date: 2022-02-23 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.
|
372
|
+
rubygems_version: 3.3.8
|
374
373
|
signing_key:
|
375
374
|
specification_version: 4
|
376
375
|
summary: The best way to manage your application's dependencies
|
data/lib/bundler/psyched_yaml.rb
DELETED