bundler 2.4.14 → 2.4.16
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 +4 -4
- data/CHANGELOG.md +22 -0
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/definition.rb +70 -37
- data/lib/bundler/lockfile_generator.rb +1 -1
- 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 +1 -1
- data/lib/bundler/man/bundle-console.1 +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-help.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-plugin.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-version.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 +2 -2
- data/lib/bundler/man/gemfile.5.ronn +1 -1
- data/lib/bundler/resolver.rb +16 -2
- data/lib/bundler/runtime.rb +1 -1
- data/lib/bundler/source/git/git_proxy.rb +31 -13
- data/lib/bundler/source/git.rb +14 -1
- 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: 6f9e9c83cf5645d84d7383ca3fdf70e8344283bfee08a8a197354ad3b9c20f63
|
|
4
|
+
data.tar.gz: 0630dce294ba12c3d357d339d21b703a24d71c946751c5598c001b955f2effea
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c9e5534ed8dd3b86f9413363c5aec4a12c28a8ec0295b8ca0b2a2b10112b0e19ce95a8c369efe2d5faff856168aa47e37f8e44fa96c55fb04e5d449b456aa8a1
|
|
7
|
+
data.tar.gz: b5e4e73017ed9ac4461b2a346818f6cdd5824d0831be0a912af4a8318ed96578f69b58764072ace893230b0b5b7e61e4b200df779e68424e0c891fb5774ace68
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# 2.4.16 (July 10, 2023)
|
|
2
|
+
|
|
3
|
+
## Bug fixes:
|
|
4
|
+
|
|
5
|
+
- Exclude Bundler from missing locked dependencies check [#6792](https://github.com/rubygems/rubygems/pull/6792)
|
|
6
|
+
- Fix another incorrect removal of "ruby" platform from lockfile when changing path sources [#6784](https://github.com/rubygems/rubygems/pull/6784)
|
|
7
|
+
- Fix git source lockfile instability [#6786](https://github.com/rubygems/rubygems/pull/6786)
|
|
8
|
+
|
|
9
|
+
## Documentation:
|
|
10
|
+
|
|
11
|
+
- `gemfile.5`: Code format the default glob to escape Markdown [#6790](https://github.com/rubygems/rubygems/pull/6790)
|
|
12
|
+
|
|
13
|
+
# 2.4.15 (June 29, 2023)
|
|
14
|
+
|
|
15
|
+
## Enhancements:
|
|
16
|
+
|
|
17
|
+
- Improve edge case error message [#6733](https://github.com/rubygems/rubygems/pull/6733)
|
|
18
|
+
|
|
19
|
+
## Bug fixes:
|
|
20
|
+
|
|
21
|
+
- Fix `bundle lock --update --bundler` [#6213](https://github.com/rubygems/rubygems/pull/6213)
|
|
22
|
+
|
|
1
23
|
# 2.4.14 (June 12, 2023)
|
|
2
24
|
|
|
3
25
|
## 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 = "2023-
|
|
8
|
-
@git_commit_sha = "
|
|
7
|
+
@built_at = "2023-07-10".freeze
|
|
8
|
+
@git_commit_sha = "bd573c7f8b".freeze
|
|
9
9
|
@release = true
|
|
10
10
|
# end ivars
|
|
11
11
|
|
data/lib/bundler/definition.rb
CHANGED
|
@@ -76,8 +76,11 @@ module Bundler
|
|
|
76
76
|
|
|
77
77
|
@lockfile = lockfile
|
|
78
78
|
@lockfile_contents = String.new
|
|
79
|
+
|
|
79
80
|
@locked_bundler_version = nil
|
|
80
|
-
@
|
|
81
|
+
@resolved_bundler_version = nil
|
|
82
|
+
|
|
83
|
+
@locked_ruby_version = nil
|
|
81
84
|
@new_platform = nil
|
|
82
85
|
@removed_platform = nil
|
|
83
86
|
|
|
@@ -146,7 +149,7 @@ module Bundler
|
|
|
146
149
|
@dependency_changes = converge_dependencies
|
|
147
150
|
@local_changes = converge_locals
|
|
148
151
|
|
|
149
|
-
@
|
|
152
|
+
@missing_lockfile_dep = check_missing_lockfile_dep
|
|
150
153
|
end
|
|
151
154
|
|
|
152
155
|
def gem_version_promoter
|
|
@@ -234,6 +237,14 @@ module Bundler
|
|
|
234
237
|
end
|
|
235
238
|
|
|
236
239
|
def current_dependencies
|
|
240
|
+
filter_relevant(dependencies)
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
def current_locked_dependencies
|
|
244
|
+
filter_relevant(locked_dependencies)
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
def filter_relevant(dependencies)
|
|
237
248
|
dependencies.select do |d|
|
|
238
249
|
d.should_include? && !d.gem_platforms([generic_local_platform]).empty?
|
|
239
250
|
end
|
|
@@ -273,7 +284,7 @@ module Bundler
|
|
|
273
284
|
@resolve ||= if Bundler.frozen_bundle?
|
|
274
285
|
Bundler.ui.debug "Frozen, using resolution from the lockfile"
|
|
275
286
|
@locked_specs
|
|
276
|
-
elsif
|
|
287
|
+
elsif no_resolve_needed?
|
|
277
288
|
if deleted_deps.any?
|
|
278
289
|
Bundler.ui.debug "Some dependencies were deleted, using a subset of the resolution from the lockfile"
|
|
279
290
|
SpecSet.new(filter_specs(@locked_specs, @dependencies - deleted_deps))
|
|
@@ -310,7 +321,7 @@ module Bundler
|
|
|
310
321
|
|
|
311
322
|
if @locked_bundler_version
|
|
312
323
|
locked_major = @locked_bundler_version.segments.first
|
|
313
|
-
current_major =
|
|
324
|
+
current_major = bundler_version_to_lock.segments.first
|
|
314
325
|
|
|
315
326
|
updating_major = locked_major < current_major
|
|
316
327
|
end
|
|
@@ -350,25 +361,16 @@ module Bundler
|
|
|
350
361
|
end
|
|
351
362
|
end
|
|
352
363
|
|
|
364
|
+
def bundler_version_to_lock
|
|
365
|
+
@resolved_bundler_version || Bundler.gem_version
|
|
366
|
+
end
|
|
367
|
+
|
|
353
368
|
def to_lock
|
|
354
369
|
require_relative "lockfile_generator"
|
|
355
370
|
LockfileGenerator.generate(self)
|
|
356
371
|
end
|
|
357
372
|
|
|
358
373
|
def ensure_equivalent_gemfile_and_lockfile(explicit_flag = false)
|
|
359
|
-
msg = String.new
|
|
360
|
-
msg << "You are trying to install in deployment mode after changing\n" \
|
|
361
|
-
"your Gemfile. Run `bundle install` elsewhere and add the\n" \
|
|
362
|
-
"updated #{Bundler.default_lockfile.relative_path_from(SharedHelpers.pwd)} to version control."
|
|
363
|
-
|
|
364
|
-
unless explicit_flag
|
|
365
|
-
suggested_command = unless Bundler.settings.locations("frozen").keys.include?(:env)
|
|
366
|
-
"bundle config set frozen false"
|
|
367
|
-
end
|
|
368
|
-
msg << "\n\nIf this is a development machine, remove the #{Bundler.default_gemfile} " \
|
|
369
|
-
"freeze \nby running `#{suggested_command}`." if suggested_command
|
|
370
|
-
end
|
|
371
|
-
|
|
372
374
|
added = []
|
|
373
375
|
deleted = []
|
|
374
376
|
changed = []
|
|
@@ -382,13 +384,8 @@ module Bundler
|
|
|
382
384
|
deleted.concat deleted_deps.map {|d| "* #{pretty_dep(d)}" } if deleted_deps.any?
|
|
383
385
|
|
|
384
386
|
both_sources = Hash.new {|h, k| h[k] = [] }
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
locked_dependencies.each do |d|
|
|
388
|
-
next if !Bundler.feature_flag.bundler_3_mode? && @locked_specs[d.name].empty?
|
|
389
|
-
|
|
390
|
-
both_sources[d.name][1] = d
|
|
391
|
-
end
|
|
387
|
+
current_dependencies.each {|d| both_sources[d.name][0] = d }
|
|
388
|
+
current_locked_dependencies.each {|d| both_sources[d.name][1] = d }
|
|
392
389
|
|
|
393
390
|
both_sources.each do |name, (dep, lock_dep)|
|
|
394
391
|
next if dep.nil? || lock_dep.nil?
|
|
@@ -397,17 +394,26 @@ module Bundler
|
|
|
397
394
|
lock_source = lock_dep.source || sources.default_source
|
|
398
395
|
next if lock_source.include?(gemfile_source)
|
|
399
396
|
|
|
400
|
-
gemfile_source_name = dep.source ? gemfile_source.
|
|
401
|
-
lockfile_source_name = lock_dep.source ? lock_source.
|
|
397
|
+
gemfile_source_name = dep.source ? gemfile_source.to_gemfile : "no specified source"
|
|
398
|
+
lockfile_source_name = lock_dep.source ? lock_source.to_gemfile : "no specified source"
|
|
402
399
|
changed << "* #{name} from `#{lockfile_source_name}` to `#{gemfile_source_name}`"
|
|
403
400
|
end
|
|
404
401
|
|
|
405
402
|
reason = change_reason
|
|
406
|
-
msg
|
|
403
|
+
msg = String.new
|
|
404
|
+
msg << "#{reason.capitalize.strip}, but the lockfile can't be updated because frozen mode is set"
|
|
407
405
|
msg << "\n\nYou have added to the Gemfile:\n" << added.join("\n") if added.any?
|
|
408
406
|
msg << "\n\nYou have deleted from the Gemfile:\n" << deleted.join("\n") if deleted.any?
|
|
409
407
|
msg << "\n\nYou have changed in the Gemfile:\n" << changed.join("\n") if changed.any?
|
|
410
|
-
msg << "\n"
|
|
408
|
+
msg << "\n\nRun `bundle install` elsewhere and add the updated #{Bundler.default_lockfile.relative_path_from(SharedHelpers.pwd)} to version control.\n"
|
|
409
|
+
|
|
410
|
+
unless explicit_flag
|
|
411
|
+
suggested_command = unless Bundler.settings.locations("frozen").keys.include?(:env)
|
|
412
|
+
"bundle config set frozen false"
|
|
413
|
+
end
|
|
414
|
+
msg << "If this is a development machine, remove the #{Bundler.default_gemfile.relative_path_from(SharedHelpers.pwd)} " \
|
|
415
|
+
"freeze by running `#{suggested_command}`." if suggested_command
|
|
416
|
+
end
|
|
411
417
|
|
|
412
418
|
raise ProductionError, msg if added.any? || deleted.any? || changed.any? || !nothing_changed?
|
|
413
419
|
end
|
|
@@ -472,7 +478,11 @@ module Bundler
|
|
|
472
478
|
private :sources
|
|
473
479
|
|
|
474
480
|
def nothing_changed?
|
|
475
|
-
!@source_changes && !@dependency_changes && !@new_platform && !@path_changes && !@local_changes && !@
|
|
481
|
+
!@source_changes && !@dependency_changes && !@new_platform && !@path_changes && !@local_changes && !@missing_lockfile_dep && !@unlocking_bundler
|
|
482
|
+
end
|
|
483
|
+
|
|
484
|
+
def no_resolve_needed?
|
|
485
|
+
!unlocking? && nothing_changed?
|
|
476
486
|
end
|
|
477
487
|
|
|
478
488
|
def unlocking?
|
|
@@ -486,7 +496,14 @@ module Bundler
|
|
|
486
496
|
end
|
|
487
497
|
|
|
488
498
|
def expanded_dependencies
|
|
489
|
-
|
|
499
|
+
dependencies_with_bundler + metadata_dependencies
|
|
500
|
+
end
|
|
501
|
+
|
|
502
|
+
def dependencies_with_bundler
|
|
503
|
+
return dependencies unless @unlocking_bundler
|
|
504
|
+
return dependencies if dependencies.map(&:name).include?("bundler")
|
|
505
|
+
|
|
506
|
+
[Dependency.new("bundler", @unlocking_bundler)] + dependencies
|
|
490
507
|
end
|
|
491
508
|
|
|
492
509
|
def resolution_packages
|
|
@@ -552,6 +569,8 @@ module Bundler
|
|
|
552
569
|
def start_resolution
|
|
553
570
|
result = resolver.start
|
|
554
571
|
|
|
572
|
+
@resolved_bundler_version = result.find {|spec| spec.name == "bundler" }&.version
|
|
573
|
+
|
|
555
574
|
SpecSet.new(SpecSet.new(result).for(dependencies, false, @platforms))
|
|
556
575
|
end
|
|
557
576
|
|
|
@@ -609,7 +628,8 @@ module Bundler
|
|
|
609
628
|
[@new_platform, "you added a new platform to your gemfile"],
|
|
610
629
|
[@path_changes, "the gemspecs for path gems changed"],
|
|
611
630
|
[@local_changes, "the gemspecs for git local gems changed"],
|
|
612
|
-
[@
|
|
631
|
+
[@missing_lockfile_dep, "your lock file is missing \"#{@missing_lockfile_dep}\""],
|
|
632
|
+
[@unlocking_bundler, "an update to the version of Bundler itself was requested"],
|
|
613
633
|
].select(&:first).map(&:last).join(", ")
|
|
614
634
|
end
|
|
615
635
|
|
|
@@ -664,7 +684,7 @@ module Bundler
|
|
|
664
684
|
!sources_with_changes.each {|source| @unlock[:sources] << source.name }.empty?
|
|
665
685
|
end
|
|
666
686
|
|
|
667
|
-
def
|
|
687
|
+
def check_missing_lockfile_dep
|
|
668
688
|
all_locked_specs = @locked_specs.map(&:name) << "bundler"
|
|
669
689
|
|
|
670
690
|
missing = @locked_specs.select do |s|
|
|
@@ -674,10 +694,14 @@ module Bundler
|
|
|
674
694
|
if missing.any?
|
|
675
695
|
@locked_specs.delete(missing)
|
|
676
696
|
|
|
677
|
-
|
|
678
|
-
else
|
|
679
|
-
false
|
|
697
|
+
return missing.first.name
|
|
680
698
|
end
|
|
699
|
+
|
|
700
|
+
return if @dependency_changes
|
|
701
|
+
|
|
702
|
+
current_dependencies.find do |d|
|
|
703
|
+
@locked_specs[d.name].empty? && d.name != "bundler"
|
|
704
|
+
end&.name
|
|
681
705
|
end
|
|
682
706
|
|
|
683
707
|
def converge_paths
|
|
@@ -861,8 +885,16 @@ module Bundler
|
|
|
861
885
|
metadata_dependencies.each do |dep|
|
|
862
886
|
source_requirements[dep.name] = sources.metadata_source
|
|
863
887
|
end
|
|
864
|
-
|
|
865
|
-
source_requirements["bundler"]
|
|
888
|
+
|
|
889
|
+
default_bundler_source = source_requirements["bundler"] || sources.default_source
|
|
890
|
+
|
|
891
|
+
if @unlocking_bundler
|
|
892
|
+
default_bundler_source.add_dependency_names("bundler")
|
|
893
|
+
else
|
|
894
|
+
source_requirements[:default_bundler] = default_bundler_source
|
|
895
|
+
source_requirements["bundler"] = sources.metadata_source # needs to come last to override
|
|
896
|
+
end
|
|
897
|
+
|
|
866
898
|
verify_changed_sources!
|
|
867
899
|
source_requirements
|
|
868
900
|
end
|
|
@@ -909,6 +941,7 @@ module Bundler
|
|
|
909
941
|
Bundler.local_platform == Gem::Platform::RUBY ||
|
|
910
942
|
!platforms.include?(Gem::Platform::RUBY) ||
|
|
911
943
|
(@new_platform && platforms.last == Gem::Platform::RUBY) ||
|
|
944
|
+
@path_changes ||
|
|
912
945
|
@dependency_changes ||
|
|
913
946
|
!@originally_locked_specs.incomplete_ruby_specs?(dependencies)
|
|
914
947
|
|
|
@@ -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" "July 2023" "" ""
|
|
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" "July 2023" "" ""
|
|
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" "July 2023" "" ""
|
|
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\-CONSOLE" "1" "
|
|
4
|
+
.TH "BUNDLE\-CONSOLE" "1" "July 2023" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-console\fR \- Deprecated way to open an IRB session with the bundle pre\-loaded
|
|
@@ -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" "July 2023" "" ""
|
|
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" "July 2023" "" ""
|
|
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" "July 2023" "" ""
|
|
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\-OPEN" "1" "
|
|
4
|
+
.TH "BUNDLE\-OPEN" "1" "July 2023" "" ""
|
|
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" "July 2023" "" ""
|
|
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" "July 2023" "" ""
|
|
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" "July 2023" "" ""
|
|
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" "July 2023" "" ""
|
|
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" "July 2023" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-update\fR \- Update your gems to the latest available versions
|
data/lib/bundler/man/bundle.1
CHANGED
data/lib/bundler/man/gemfile.5
CHANGED
|
@@ -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 "GEMFILE" "5" "
|
|
4
|
+
.TH "GEMFILE" "5" "July 2023" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
|
|
@@ -702,7 +702,7 @@ If you wish to use Bundler to help install dependencies for a gem while it is be
|
|
|
702
702
|
The \fBgemspec\fR method adds any runtime dependencies as gem requirements in the default group\. It also adds development dependencies as gem requirements in the \fBdevelopment\fR group\. Finally, it adds a gem requirement on your project (\fBpath: \'\.\'\fR)\. In conjunction with \fBBundler\.setup\fR, this allows you to require project files in your test code as you would if the project were installed as a gem; you need not manipulate the load path manually or require project files via relative paths\.
|
|
703
703
|
.
|
|
704
704
|
.P
|
|
705
|
-
The \fBgemspec\fR method supports optional \fB:path\fR, \fB:glob\fR, \fB:name\fR, and \fB:development_group\fR options, which control where bundler looks for the \fB\.gemspec\fR, the glob it uses to look for the gemspec (defaults to:
|
|
705
|
+
The \fBgemspec\fR method supports optional \fB:path\fR, \fB:glob\fR, \fB:name\fR, and \fB:development_group\fR options, which control where bundler looks for the \fB\.gemspec\fR, the glob it uses to look for the gemspec (defaults to: \fB{,*,*/*}\.gemspec\fR), what named \fB\.gemspec\fR it uses (if more than one is present), and which group development dependencies are included in\.
|
|
706
706
|
.
|
|
707
707
|
.P
|
|
708
708
|
When a \fBgemspec\fR dependency encounters version conflicts during resolution, the local version under development will always be selected \-\- even if there are remote versions that better match other requirements for the \fBgemspec\fR gem\.
|
|
@@ -514,7 +514,7 @@ paths.
|
|
|
514
514
|
|
|
515
515
|
The `gemspec` method supports optional `:path`, `:glob`, `:name`, and `:development_group`
|
|
516
516
|
options, which control where bundler looks for the `.gemspec`, the glob it uses to look
|
|
517
|
-
for the gemspec (defaults to:
|
|
517
|
+
for the gemspec (defaults to: `{,*,*/*}.gemspec`), what named `.gemspec` it uses
|
|
518
518
|
(if more than one is present), and which group development dependencies are included in.
|
|
519
519
|
|
|
520
520
|
When a `gemspec` dependency encounters version conflicts during resolution, the
|
data/lib/bundler/resolver.rb
CHANGED
|
@@ -160,7 +160,7 @@ module Bundler
|
|
|
160
160
|
constraint_string = constraint.constraint_string
|
|
161
161
|
requirements = constraint_string.split(" OR ").map {|req| Gem::Requirement.new(req.split(",")) }
|
|
162
162
|
|
|
163
|
-
if name == "bundler"
|
|
163
|
+
if name == "bundler" && bundler_pinned_to_current_version?
|
|
164
164
|
custom_explanation = "the current Bundler version (#{Bundler::VERSION}) does not satisfy #{constraint}"
|
|
165
165
|
extended_explanation = bundler_not_found_message(requirements)
|
|
166
166
|
else
|
|
@@ -230,6 +230,12 @@ module Bundler
|
|
|
230
230
|
def all_versions_for(package)
|
|
231
231
|
name = package.name
|
|
232
232
|
results = (@base[name] + filter_prereleases(@all_specs[name], package)).uniq {|spec| [spec.version.hash, spec.platform] }
|
|
233
|
+
|
|
234
|
+
if name == "bundler" && !bundler_pinned_to_current_version?
|
|
235
|
+
bundler_spec = Gem.loaded_specs["bundler"]
|
|
236
|
+
results << bundler_spec if bundler_spec
|
|
237
|
+
end
|
|
238
|
+
|
|
233
239
|
locked_requirement = base_requirements[name]
|
|
234
240
|
results = filter_matching_specs(results, locked_requirement) if locked_requirement
|
|
235
241
|
|
|
@@ -254,6 +260,14 @@ module Bundler
|
|
|
254
260
|
@source_requirements[name] || @source_requirements[:default]
|
|
255
261
|
end
|
|
256
262
|
|
|
263
|
+
def default_bundler_source
|
|
264
|
+
@source_requirements[:default_bundler]
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
def bundler_pinned_to_current_version?
|
|
268
|
+
!default_bundler_source.nil?
|
|
269
|
+
end
|
|
270
|
+
|
|
257
271
|
def name_for_explicit_dependency_source
|
|
258
272
|
Bundler.default_gemfile.basename.to_s
|
|
259
273
|
rescue StandardError
|
|
@@ -398,7 +412,7 @@ module Bundler
|
|
|
398
412
|
end
|
|
399
413
|
|
|
400
414
|
def bundler_not_found_message(conflict_dependencies)
|
|
401
|
-
candidate_specs = filter_matching_specs(
|
|
415
|
+
candidate_specs = filter_matching_specs(default_bundler_source.specs.search("bundler"), conflict_dependencies)
|
|
402
416
|
|
|
403
417
|
if candidate_specs.any?
|
|
404
418
|
target_version = candidate_specs.last.version
|
data/lib/bundler/runtime.rb
CHANGED
|
@@ -94,7 +94,7 @@ module Bundler
|
|
|
94
94
|
definition_method :requires
|
|
95
95
|
|
|
96
96
|
def lock(opts = {})
|
|
97
|
-
return if @definition.
|
|
97
|
+
return if @definition.no_resolve_needed?
|
|
98
98
|
@definition.lock(Bundler.default_lockfile, opts[:preserve_unknown_sections])
|
|
99
99
|
end
|
|
100
100
|
|
|
@@ -67,8 +67,8 @@ module Bundler
|
|
|
67
67
|
end
|
|
68
68
|
|
|
69
69
|
def current_branch
|
|
70
|
-
@current_branch ||=
|
|
71
|
-
|
|
70
|
+
@current_branch ||= with_path do
|
|
71
|
+
git_local("rev-parse", "--abbrev-ref", "HEAD", :dir => path).strip
|
|
72
72
|
end
|
|
73
73
|
end
|
|
74
74
|
|
|
@@ -84,7 +84,7 @@ module Bundler
|
|
|
84
84
|
end
|
|
85
85
|
|
|
86
86
|
def full_version
|
|
87
|
-
@full_version ||=
|
|
87
|
+
@full_version ||= git_local("--version").sub(/git version\s*/, "").strip
|
|
88
88
|
end
|
|
89
89
|
|
|
90
90
|
def checkout
|
|
@@ -253,15 +253,15 @@ module Bundler
|
|
|
253
253
|
end
|
|
254
254
|
|
|
255
255
|
def git(*command, dir: nil)
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
raise GitCommandError.new(command_with_no_credentials, dir || SharedHelpers.pwd, err) unless status.success?
|
|
261
|
-
|
|
262
|
-
Bundler.ui.warn err unless err.empty?
|
|
256
|
+
run_command(*command, :dir => dir) do |unredacted_command|
|
|
257
|
+
check_allowed(unredacted_command)
|
|
258
|
+
end
|
|
259
|
+
end
|
|
263
260
|
|
|
264
|
-
|
|
261
|
+
def git_local(*command, dir: nil)
|
|
262
|
+
run_command(*command, :dir => dir) do |unredacted_command|
|
|
263
|
+
redact_and_check_presence(unredacted_command)
|
|
264
|
+
end
|
|
265
265
|
end
|
|
266
266
|
|
|
267
267
|
def has_revision_cached?
|
|
@@ -330,12 +330,30 @@ module Bundler
|
|
|
330
330
|
end
|
|
331
331
|
|
|
332
332
|
def check_allowed(command)
|
|
333
|
-
|
|
334
|
-
command_with_no_credentials = URICredentialsFilter.credential_filtered_string("git #{command.shelljoin}", uri)
|
|
333
|
+
command_with_no_credentials = redact_and_check_presence(command)
|
|
335
334
|
raise GitNotAllowedError.new(command_with_no_credentials) unless allow?
|
|
336
335
|
command_with_no_credentials
|
|
337
336
|
end
|
|
338
337
|
|
|
338
|
+
def redact_and_check_presence(command)
|
|
339
|
+
raise GitNotInstalledError.new unless Bundler.git_present?
|
|
340
|
+
|
|
341
|
+
require "shellwords"
|
|
342
|
+
URICredentialsFilter.credential_filtered_string("git #{command.shelljoin}", uri)
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
def run_command(*command, dir: nil)
|
|
346
|
+
command_with_no_credentials = yield(command)
|
|
347
|
+
|
|
348
|
+
out, err, status = capture(command, dir)
|
|
349
|
+
|
|
350
|
+
raise GitCommandError.new(command_with_no_credentials, dir || SharedHelpers.pwd, err) unless status.success?
|
|
351
|
+
|
|
352
|
+
Bundler.ui.warn err unless err.empty?
|
|
353
|
+
|
|
354
|
+
out
|
|
355
|
+
end
|
|
356
|
+
|
|
339
357
|
def capture(cmd, dir, ignore_err: false)
|
|
340
358
|
SharedHelpers.with_clean_git_env do
|
|
341
359
|
require "open3"
|
data/lib/bundler/source/git.rb
CHANGED
|
@@ -46,6 +46,14 @@ module Bundler
|
|
|
46
46
|
out << " specs:\n"
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
+
def to_gemfile
|
|
50
|
+
specifiers = %w[ref branch tag submodules glob].map do |opt|
|
|
51
|
+
"#{opt}: #{options[opt]}" if options[opt]
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
uri_with_specifiers(specifiers)
|
|
55
|
+
end
|
|
56
|
+
|
|
49
57
|
def hash
|
|
50
58
|
[self.class, uri, ref, branch, name, version, glob, submodules].hash
|
|
51
59
|
end
|
|
@@ -80,7 +88,12 @@ module Bundler
|
|
|
80
88
|
""
|
|
81
89
|
end
|
|
82
90
|
|
|
83
|
-
|
|
91
|
+
uri_with_specifiers([rev, glob_for_display])
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def uri_with_specifiers(specifiers)
|
|
95
|
+
specifiers.compact!
|
|
96
|
+
|
|
84
97
|
suffix =
|
|
85
98
|
if specifiers.any?
|
|
86
99
|
" (#{specifiers.join(", ")})"
|
|
@@ -123,6 +123,7 @@ module Bundler
|
|
|
123
123
|
end
|
|
124
124
|
end
|
|
125
125
|
alias_method :name, :identifier
|
|
126
|
+
alias_method :to_gemfile, :identifier
|
|
126
127
|
|
|
127
128
|
def specs
|
|
128
129
|
@specs ||= begin
|
|
@@ -381,7 +382,6 @@ module Bundler
|
|
|
381
382
|
idx = @allow_local ? installed_specs.dup : Index.new
|
|
382
383
|
|
|
383
384
|
Dir["#{cache_path}/*.gem"].each do |gemfile|
|
|
384
|
-
next if /^bundler\-[\d\.]+?\.gem/.match?(gemfile)
|
|
385
385
|
s ||= Bundler.rubygems.spec_from_gem(gemfile)
|
|
386
386
|
s.source = self
|
|
387
387
|
idx << s
|
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.16
|
|
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-
|
|
25
|
+
date: 2023-07-10 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
|
|
@@ -381,7 +381,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
381
381
|
- !ruby/object:Gem::Version
|
|
382
382
|
version: 3.0.1
|
|
383
383
|
requirements: []
|
|
384
|
-
rubygems_version: 3.4.
|
|
384
|
+
rubygems_version: 3.4.16
|
|
385
385
|
signing_key:
|
|
386
386
|
specification_version: 4
|
|
387
387
|
summary: The best way to manage your application's dependencies
|