bundler 2.6.2 → 2.6.3
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/README.md +1 -1
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/cli/outdated.rb +6 -4
- data/lib/bundler/definition.rb +2 -2
- data/lib/bundler/dependency.rb +1 -1
- data/lib/bundler/feature_flag.rb +2 -6
- data/lib/bundler/installer.rb +15 -1
- data/lib/bundler/man/bundle-add.1 +3 -3
- data/lib/bundler/man/bundle-binstubs.1 +3 -3
- data/lib/bundler/man/bundle-cache.1 +3 -3
- data/lib/bundler/man/bundle-check.1 +3 -3
- data/lib/bundler/man/bundle-clean.1 +3 -3
- data/lib/bundler/man/bundle-config.1 +3 -3
- data/lib/bundler/man/bundle-console.1 +3 -3
- data/lib/bundler/man/bundle-doctor.1 +3 -3
- data/lib/bundler/man/bundle-env.1 +3 -3
- data/lib/bundler/man/bundle-exec.1 +3 -3
- data/lib/bundler/man/bundle-fund.1 +3 -3
- data/lib/bundler/man/bundle-gem.1 +3 -3
- data/lib/bundler/man/bundle-help.1 +3 -3
- data/lib/bundler/man/bundle-info.1 +3 -3
- data/lib/bundler/man/bundle-init.1 +3 -3
- data/lib/bundler/man/bundle-inject.1 +3 -3
- data/lib/bundler/man/bundle-install.1 +3 -3
- data/lib/bundler/man/bundle-issue.1 +3 -3
- data/lib/bundler/man/bundle-licenses.1 +3 -3
- data/lib/bundler/man/bundle-list.1 +3 -3
- data/lib/bundler/man/bundle-lock.1 +3 -3
- data/lib/bundler/man/bundle-open.1 +3 -3
- data/lib/bundler/man/bundle-outdated.1 +3 -3
- data/lib/bundler/man/bundle-platform.1 +3 -3
- data/lib/bundler/man/bundle-plugin.1 +3 -3
- data/lib/bundler/man/bundle-pristine.1 +3 -3
- data/lib/bundler/man/bundle-remove.1 +3 -3
- data/lib/bundler/man/bundle-show.1 +3 -3
- data/lib/bundler/man/bundle-update.1 +3 -3
- data/lib/bundler/man/bundle-version.1 +3 -3
- data/lib/bundler/man/bundle-viz.1 +3 -3
- data/lib/bundler/man/bundle.1 +3 -3
- data/lib/bundler/man/gemfile.5 +3 -3
- data/lib/bundler/plugin/index.rb +4 -0
- data/lib/bundler/resolver/base.rb +2 -1
- data/lib/bundler/resolver/package.rb +1 -1
- data/lib/bundler/resolver.rb +2 -1
- data/lib/bundler/ruby_dsl.rb +12 -3
- data/lib/bundler/rubygems_integration.rb +0 -12
- data/lib/bundler/source/git.rb +1 -0
- data/lib/bundler/spec_set.rb +16 -2
- data/lib/bundler/version.rb +1 -1
- data/lib/bundler.rb +10 -30
- 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: 3feddb9042d8a7e98b180bdccc1fc1589782cbd67d813abb63aac8a84028a811
|
|
4
|
+
data.tar.gz: 2f8ed118d6ca1e4e4301e977e23bd94897bbb5fc79c8b4a5799fe47f3ee306f1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 628abd13ffccef88bb5eebf10c73bc40157b8cd0e5d1b07930be534b5b161732710c5794fd5efa830a7d493f2af0bf58bf1aa3601ea9ba0c56aee8f2ca0cdd77
|
|
7
|
+
data.tar.gz: fbca6f3eba226a373edce1d0987a31d07fbb0ea0ce8d8ebd05cda8a6184c22158a25090317173f4b1e839d6b45c31bfe9dee9f7cb8c26bbfb05670947fe8bf09
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# 2.6.3 (January 16, 2025)
|
|
2
|
+
|
|
3
|
+
## Enhancements:
|
|
4
|
+
|
|
5
|
+
- Don't fallback to evaluating YAML gemspecs as Ruby code [#8404](https://github.com/rubygems/rubygems/pull/8404)
|
|
6
|
+
- Print message when blocking on file locks [#8299](https://github.com/rubygems/rubygems/pull/8299)
|
|
7
|
+
- Add support for mise version manager file [#8356](https://github.com/rubygems/rubygems/pull/8356)
|
|
8
|
+
- Add Ruby 3.5 to Gemfile DSL platform values [#8365](https://github.com/rubygems/rubygems/pull/8365)
|
|
9
|
+
|
|
10
|
+
## Bug fixes:
|
|
11
|
+
|
|
12
|
+
- Revert RubyGems plugins getting loaded on `Bundler.require` [#8410](https://github.com/rubygems/rubygems/pull/8410)
|
|
13
|
+
- Fix platform specific gems sometimes being removed from the lockfile [#8401](https://github.com/rubygems/rubygems/pull/8401)
|
|
14
|
+
- Serialize gemspec when caching git source [#8403](https://github.com/rubygems/rubygems/pull/8403)
|
|
15
|
+
- Fix crash on read-only filesystems in Ruby 3.4 [#8372](https://github.com/rubygems/rubygems/pull/8372)
|
|
16
|
+
- Fix `bundle outdated <GEM>` failing if not all gems are installed [#8361](https://github.com/rubygems/rubygems/pull/8361)
|
|
17
|
+
- Fix `bundle install` crash on Windows [#8362](https://github.com/rubygems/rubygems/pull/8362)
|
|
18
|
+
|
|
19
|
+
## Documentation:
|
|
20
|
+
|
|
21
|
+
- Fix broken links in the documents [#8389](https://github.com/rubygems/rubygems/pull/8389)
|
|
22
|
+
|
|
1
23
|
# 2.6.2 (December 23, 2024)
|
|
2
24
|
|
|
3
25
|
## Bug fixes:
|
data/README.md
CHANGED
|
@@ -29,7 +29,7 @@ See [bundler.io](https://bundler.io) for the full documentation.
|
|
|
29
29
|
|
|
30
30
|
### Troubleshooting
|
|
31
31
|
|
|
32
|
-
For help with common problems, see [TROUBLESHOOTING](doc/TROUBLESHOOTING.md).
|
|
32
|
+
For help with common problems, see [TROUBLESHOOTING](../doc/bundler/TROUBLESHOOTING.md).
|
|
33
33
|
|
|
34
34
|
Still stuck? Try [filing an issue](https://github.com/rubygems/rubygems/issues/new?labels=Bundler&template=bundler-related-issue.md).
|
|
35
35
|
|
|
@@ -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 = "
|
|
8
|
-
@git_commit_sha = "
|
|
7
|
+
@built_at = "2025-01-16".freeze
|
|
8
|
+
@git_commit_sha = "3c7c4ff2d8f".freeze
|
|
9
9
|
@release = true
|
|
10
10
|
# end ivars
|
|
11
11
|
|
data/lib/bundler/cli/outdated.rb
CHANGED
|
@@ -26,13 +26,15 @@ module Bundler
|
|
|
26
26
|
def run
|
|
27
27
|
check_for_deployment_mode!
|
|
28
28
|
|
|
29
|
-
gems.each do |gem_name|
|
|
30
|
-
Bundler::CLI::Common.select_spec(gem_name)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
29
|
Bundler.definition.validate_runtime!
|
|
34
30
|
current_specs = Bundler.ui.silence { Bundler.definition.resolve }
|
|
35
31
|
|
|
32
|
+
gems.each do |gem_name|
|
|
33
|
+
if current_specs[gem_name].empty?
|
|
34
|
+
raise GemNotFound, "Could not find gem '#{gem_name}'."
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
36
38
|
current_dependencies = Bundler.ui.silence do
|
|
37
39
|
Bundler.load.dependencies.map {|dep| [dep.name, dep] }.to_h
|
|
38
40
|
end
|
data/lib/bundler/definition.rb
CHANGED
|
@@ -742,7 +742,7 @@ module Bundler
|
|
|
742
742
|
|
|
743
743
|
@platforms = result.add_extra_platforms!(platforms) if should_add_extra_platforms?
|
|
744
744
|
|
|
745
|
-
SpecSet.new(result.for(dependencies, @platforms))
|
|
745
|
+
SpecSet.new(result.for(dependencies, @platforms | [Gem::Platform::RUBY]))
|
|
746
746
|
end
|
|
747
747
|
|
|
748
748
|
def precompute_source_requirements_for_indirect_dependencies?
|
|
@@ -1108,7 +1108,7 @@ module Bundler
|
|
|
1108
1108
|
return resolution_packages if @explicit_unlocks.empty?
|
|
1109
1109
|
full_update = dup_for_full_unlock.resolve
|
|
1110
1110
|
@explicit_unlocks.each do |name|
|
|
1111
|
-
version = full_update
|
|
1111
|
+
version = full_update.version_for(name)
|
|
1112
1112
|
resolution_packages.base_requirements[name] = Gem::Requirement.new("= #{version}") if version
|
|
1113
1113
|
end
|
|
1114
1114
|
resolution_packages
|
data/lib/bundler/dependency.rb
CHANGED
|
@@ -9,7 +9,7 @@ module Bundler
|
|
|
9
9
|
attr_reader :autorequire
|
|
10
10
|
attr_reader :groups, :platforms, :gemfile, :path, :git, :github, :branch, :ref, :glob
|
|
11
11
|
|
|
12
|
-
ALL_RUBY_VERSIONS = (18..27).to_a.concat((30..
|
|
12
|
+
ALL_RUBY_VERSIONS = (18..27).to_a.concat((30..35).to_a).freeze
|
|
13
13
|
PLATFORM_MAP = {
|
|
14
14
|
ruby: [Gem::Platform::RUBY, ALL_RUBY_VERSIONS],
|
|
15
15
|
mri: [Gem::Platform::RUBY, ALL_RUBY_VERSIONS],
|
data/lib/bundler/feature_flag.rb
CHANGED
|
@@ -25,7 +25,7 @@ module Bundler
|
|
|
25
25
|
end
|
|
26
26
|
private_class_method :settings_method
|
|
27
27
|
|
|
28
|
-
(1..10).each {|v| define_method("bundler_#{v}_mode?") { major_version >= v } }
|
|
28
|
+
(1..10).each {|v| define_method("bundler_#{v}_mode?") { @major_version >= v } }
|
|
29
29
|
|
|
30
30
|
settings_flag(:allow_offline_install) { bundler_3_mode? }
|
|
31
31
|
settings_flag(:auto_clean_without_path) { bundler_3_mode? }
|
|
@@ -44,11 +44,7 @@ module Bundler
|
|
|
44
44
|
|
|
45
45
|
def initialize(bundler_version)
|
|
46
46
|
@bundler_version = Gem::Version.create(bundler_version)
|
|
47
|
+
@major_version = @bundler_version.segments.first
|
|
47
48
|
end
|
|
48
|
-
|
|
49
|
-
def major_version
|
|
50
|
-
@bundler_version.segments.first
|
|
51
|
-
end
|
|
52
|
-
private :major_version
|
|
53
49
|
end
|
|
54
50
|
end
|
data/lib/bundler/installer.rb
CHANGED
|
@@ -79,7 +79,7 @@ module Bundler
|
|
|
79
79
|
|
|
80
80
|
if @definition.setup_domain!(options)
|
|
81
81
|
ensure_specs_are_compatible!
|
|
82
|
-
|
|
82
|
+
load_plugins
|
|
83
83
|
end
|
|
84
84
|
install(options)
|
|
85
85
|
|
|
@@ -209,6 +209,20 @@ module Bundler
|
|
|
209
209
|
Bundler.settings.processor_count
|
|
210
210
|
end
|
|
211
211
|
|
|
212
|
+
def load_plugins
|
|
213
|
+
Gem.load_plugins
|
|
214
|
+
|
|
215
|
+
requested_path_gems = @definition.requested_specs.select {|s| s.source.is_a?(Source::Path) }
|
|
216
|
+
path_plugin_files = requested_path_gems.flat_map do |spec|
|
|
217
|
+
spec.matches_for_glob("rubygems_plugin#{Bundler.rubygems.suffix_pattern}")
|
|
218
|
+
rescue TypeError
|
|
219
|
+
error_message = "#{spec.name} #{spec.version} has an invalid gemspec"
|
|
220
|
+
raise Gem::InvalidSpecificationException, error_message
|
|
221
|
+
end
|
|
222
|
+
Gem.load_plugin_files(path_plugin_files)
|
|
223
|
+
Gem.load_env_plugins
|
|
224
|
+
end
|
|
225
|
+
|
|
212
226
|
def ensure_specs_are_compatible!
|
|
213
227
|
@definition.specs.each do |spec|
|
|
214
228
|
unless spec.matches_current_ruby?
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-ADD" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-ADD" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-BINSTUBS" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-BINSTUBS" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-CACHE" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-CACHE" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-CHECK" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-CHECK" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-CLEAN" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-CLEAN" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-CONFIG" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-CONFIG" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-config\fR \- Set bundler configuration options
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-CONSOLE" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-CONSOLE" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-console\fR \- Open an IRB session with the bundle pre\-loaded
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-DOCTOR" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-DOCTOR" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-doctor\fR \- Checks the bundle for common problems
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-ENV" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-ENV" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-env\fR \- Print information about the environment Bundler is running under
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-EXEC" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-EXEC" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-exec\fR \- Execute a command in the context of the bundle
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-FUND" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-FUND" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-fund\fR \- Lists information about gems seeking funding assistance
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-GEM" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-GEM" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-HELP" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-HELP" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-help\fR \- Displays detailed help for each subcommand
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-INFO" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-INFO" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-info\fR \- Show information for the given gem in your bundle
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-INIT" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-INIT" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-init\fR \- Generates a Gemfile into the current working directory
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-INJECT" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-INJECT" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-INSTALL" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-INSTALL" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-ISSUE" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-ISSUE" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-issue\fR \- Get help reporting Bundler issues
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-LICENSES" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-LICENSES" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-licenses\fR \- Print the license of all gems in the bundle
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-LIST" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-LIST" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-list\fR \- List all the gems in the bundle
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-LOCK" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-LOCK" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-lock\fR \- Creates / Updates a lockfile without installing
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-OPEN" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-OPEN" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-OUTDATED" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-OUTDATED" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-outdated\fR \- List installed gems with newer versions available
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-PLATFORM" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-PLATFORM" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-platform\fR \- Displays platform compatibility information
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-PLUGIN" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-PLUGIN" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-plugin\fR \- Manage Bundler plugins
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-PRISTINE" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-PRISTINE" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-REMOVE" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-REMOVE" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-remove\fR \- Removes gems from the Gemfile
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-SHOW" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-SHOW" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-UPDATE" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-UPDATE" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-update\fR \- Update your gems to the latest available versions
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-VERSION" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-VERSION" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-version\fR \- Prints Bundler version information
|
|
6
6
|
.SH "SYNOPSIS"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE\-VIZ" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE\-VIZ" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile
|
|
6
6
|
.SH "SYNOPSIS"
|
data/lib/bundler/man/bundle.1
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "BUNDLE" "1" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "BUNDLE" "1" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBbundle\fR \- Ruby Dependency Management
|
|
6
6
|
.SH "SYNOPSIS"
|
data/lib/bundler/man/gemfile.5
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.\" generated with
|
|
2
|
-
.\"
|
|
3
|
-
.TH "GEMFILE" "5" "
|
|
1
|
+
.\" generated with Ronn-NG/v0.10.1
|
|
2
|
+
.\" http://github.com/apjanke/ronn-ng/tree/0.10.1
|
|
3
|
+
.TH "GEMFILE" "5" "January 2025" ""
|
|
4
4
|
.SH "NAME"
|
|
5
5
|
\fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
|
|
6
6
|
.SH "SYNOPSIS"
|
data/lib/bundler/plugin/index.rb
CHANGED
|
@@ -34,6 +34,10 @@ module Bundler
|
|
|
34
34
|
rescue GenericSystemCallError
|
|
35
35
|
# no need to fail when on a read-only FS, for example
|
|
36
36
|
nil
|
|
37
|
+
rescue ArgumentError => e
|
|
38
|
+
# ruby 3.4 checks writability in Dir.tmpdir
|
|
39
|
+
raise unless e.message&.include?("could not find a temporary directory")
|
|
40
|
+
nil
|
|
37
41
|
end
|
|
38
42
|
load_index(local_index_file) if SharedHelpers.in_bundle?
|
|
39
43
|
end
|
|
@@ -5,10 +5,11 @@ require_relative "package"
|
|
|
5
5
|
module Bundler
|
|
6
6
|
class Resolver
|
|
7
7
|
class Base
|
|
8
|
-
attr_reader :packages, :requirements, :source_requirements
|
|
8
|
+
attr_reader :packages, :requirements, :source_requirements, :locked_specs
|
|
9
9
|
|
|
10
10
|
def initialize(source_requirements, dependencies, base, platforms, options)
|
|
11
11
|
@source_requirements = source_requirements
|
|
12
|
+
@locked_specs = options[:locked_specs]
|
|
12
13
|
|
|
13
14
|
@base = base
|
|
14
15
|
|
|
@@ -18,7 +18,7 @@ module Bundler
|
|
|
18
18
|
def initialize(name, platforms, locked_specs:, unlock:, prerelease: false, prefer_local: false, dependency: nil)
|
|
19
19
|
@name = name
|
|
20
20
|
@platforms = platforms
|
|
21
|
-
@locked_version = locked_specs
|
|
21
|
+
@locked_version = locked_specs.version_for(name)
|
|
22
22
|
@unlock = unlock
|
|
23
23
|
@dependency = dependency || Dependency.new(name, @locked_version)
|
|
24
24
|
@top_level = !dependency.nil?
|
data/lib/bundler/resolver.rb
CHANGED
|
@@ -80,7 +80,8 @@ module Bundler
|
|
|
80
80
|
def solve_versions(root:, logger:)
|
|
81
81
|
solver = PubGrub::VersionSolver.new(source: self, root: root, logger: logger)
|
|
82
82
|
result = solver.solve
|
|
83
|
-
result.flat_map {|package, version| version.to_specs(package, @most_specific_locked_platform) }
|
|
83
|
+
resolved_specs = result.flat_map {|package, version| version.to_specs(package, @most_specific_locked_platform) }
|
|
84
|
+
SpecSet.new(resolved_specs).specs_with_additional_variants_from(@base.locked_specs)
|
|
84
85
|
rescue PubGrub::SolveFailure => e
|
|
85
86
|
incompatibility = e.incompatibility
|
|
86
87
|
|
data/lib/bundler/ruby_dsl.rb
CHANGED
|
@@ -42,9 +42,18 @@ module Bundler
|
|
|
42
42
|
# Loads the file relative to the dirname of the Gemfile itself.
|
|
43
43
|
def normalize_ruby_file(filename)
|
|
44
44
|
file_content = Bundler.read_file(gemfile.dirname.join(filename))
|
|
45
|
-
# match "ruby-3.2.2" or "ruby 3.2.2" capturing version string up to the first space or comment
|
|
46
|
-
if /^
|
|
47
|
-
|
|
45
|
+
# match "ruby-3.2.2", ruby = "3.2.2" or "ruby 3.2.2" capturing version string up to the first space or comment
|
|
46
|
+
if /^ # Start of line
|
|
47
|
+
ruby # Literal "ruby"
|
|
48
|
+
[\s-]* # Optional whitespace or hyphens (for "ruby-3.2.2" format)
|
|
49
|
+
(?:=\s*)? # Optional equals sign with whitespace (for ruby = "3.2.2" format)
|
|
50
|
+
"? # Optional opening quote
|
|
51
|
+
( # Start capturing group
|
|
52
|
+
[^\s#"]+ # One or more chars that aren't spaces, #, or quotes
|
|
53
|
+
) # End capturing group
|
|
54
|
+
"? # Optional closing quote
|
|
55
|
+
/x.match(file_content)
|
|
56
|
+
$1
|
|
48
57
|
else
|
|
49
58
|
file_content.strip
|
|
50
59
|
end
|
|
@@ -134,18 +134,6 @@ module Bundler
|
|
|
134
134
|
loaded_gem_paths.flatten
|
|
135
135
|
end
|
|
136
136
|
|
|
137
|
-
def load_plugins
|
|
138
|
-
Gem.load_plugins
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
def load_plugin_files(plugin_files)
|
|
142
|
-
Gem.load_plugin_files(plugin_files)
|
|
143
|
-
end
|
|
144
|
-
|
|
145
|
-
def load_env_plugins
|
|
146
|
-
Gem.load_env_plugins
|
|
147
|
-
end
|
|
148
|
-
|
|
149
137
|
def ui=(obj)
|
|
150
138
|
Gem::DefaultUserInteraction.ui = obj
|
|
151
139
|
end
|
data/lib/bundler/source/git.rb
CHANGED
data/lib/bundler/spec_set.rb
CHANGED
|
@@ -133,8 +133,8 @@ module Bundler
|
|
|
133
133
|
validation_set.incomplete_specs.any?
|
|
134
134
|
end
|
|
135
135
|
|
|
136
|
-
def missing_specs_for(
|
|
137
|
-
materialize_dependencies(
|
|
136
|
+
def missing_specs_for(deps)
|
|
137
|
+
materialize_dependencies(deps)
|
|
138
138
|
|
|
139
139
|
missing_specs
|
|
140
140
|
end
|
|
@@ -163,12 +163,20 @@ module Bundler
|
|
|
163
163
|
@specs.detect {|spec| spec.name == name && spec.match_platform(platform) }
|
|
164
164
|
end
|
|
165
165
|
|
|
166
|
+
def specs_with_additional_variants_from(other)
|
|
167
|
+
sorted | additional_variants_from(other)
|
|
168
|
+
end
|
|
169
|
+
|
|
166
170
|
def delete_by_name(name)
|
|
167
171
|
@specs.reject! {|spec| spec.name == name }
|
|
168
172
|
|
|
169
173
|
reset!
|
|
170
174
|
end
|
|
171
175
|
|
|
176
|
+
def version_for(name)
|
|
177
|
+
self[name].first&.version
|
|
178
|
+
end
|
|
179
|
+
|
|
172
180
|
def what_required(spec)
|
|
173
181
|
unless req = find {|s| s.runtime_dependencies.any? {|d| d.name == spec.name } }
|
|
174
182
|
return [spec]
|
|
@@ -273,6 +281,12 @@ module Bundler
|
|
|
273
281
|
@specs.flat_map {|spec| spec.source.specs.search([spec.name, spec.version]).map(&:platform) }.uniq
|
|
274
282
|
end
|
|
275
283
|
|
|
284
|
+
def additional_variants_from(other)
|
|
285
|
+
other.select do |spec|
|
|
286
|
+
version_for(spec.name) == spec.version && valid_dependencies?(spec)
|
|
287
|
+
end
|
|
288
|
+
end
|
|
289
|
+
|
|
276
290
|
def valid_dependencies?(s)
|
|
277
291
|
validate_deps(s) == :valid
|
|
278
292
|
end
|
data/lib/bundler/version.rb
CHANGED
data/lib/bundler.rb
CHANGED
|
@@ -212,7 +212,6 @@ module Bundler
|
|
|
212
212
|
# Bundler.require(:test) # requires second_gem
|
|
213
213
|
#
|
|
214
214
|
def require(*groups)
|
|
215
|
-
load_plugins
|
|
216
215
|
setup(*groups).require(*groups)
|
|
217
216
|
end
|
|
218
217
|
|
|
@@ -548,15 +547,7 @@ module Bundler
|
|
|
548
547
|
def load_gemspec_uncached(file, validate = false)
|
|
549
548
|
path = Pathname.new(file)
|
|
550
549
|
contents = read_file(file)
|
|
551
|
-
spec =
|
|
552
|
-
eval_yaml_gemspec(path, contents)
|
|
553
|
-
else
|
|
554
|
-
# Eval the gemspec from its parent directory, because some gemspecs
|
|
555
|
-
# depend on "./" relative paths.
|
|
556
|
-
SharedHelpers.chdir(path.dirname.to_s) do
|
|
557
|
-
eval_gemspec(path, contents)
|
|
558
|
-
end
|
|
559
|
-
end
|
|
550
|
+
spec = eval_gemspec(path, contents)
|
|
560
551
|
return unless spec
|
|
561
552
|
spec.loaded_from = path.expand_path.to_s
|
|
562
553
|
Bundler.rubygems.validate(spec) if validate
|
|
@@ -576,23 +567,6 @@ module Bundler
|
|
|
576
567
|
@feature_flag ||= FeatureFlag.new(VERSION)
|
|
577
568
|
end
|
|
578
569
|
|
|
579
|
-
def load_plugins(definition = Bundler.definition)
|
|
580
|
-
return if defined?(@load_plugins_ran)
|
|
581
|
-
|
|
582
|
-
Bundler.rubygems.load_plugins
|
|
583
|
-
|
|
584
|
-
requested_path_gems = definition.requested_specs.select {|s| s.source.is_a?(Source::Path) }
|
|
585
|
-
path_plugin_files = requested_path_gems.flat_map do |spec|
|
|
586
|
-
spec.matches_for_glob("rubygems_plugin#{Bundler.rubygems.suffix_pattern}")
|
|
587
|
-
rescue TypeError
|
|
588
|
-
error_message = "#{spec.name} #{spec.version} has an invalid gemspec"
|
|
589
|
-
raise Gem::InvalidSpecificationException, error_message
|
|
590
|
-
end
|
|
591
|
-
Bundler.rubygems.load_plugin_files(path_plugin_files)
|
|
592
|
-
Bundler.rubygems.load_env_plugins
|
|
593
|
-
@load_plugins_ran = true
|
|
594
|
-
end
|
|
595
|
-
|
|
596
570
|
def reset!
|
|
597
571
|
reset_paths!
|
|
598
572
|
Plugin.reset!
|
|
@@ -675,12 +649,18 @@ module Bundler
|
|
|
675
649
|
Kernel.require "psych"
|
|
676
650
|
|
|
677
651
|
Gem::Specification.from_yaml(contents)
|
|
678
|
-
rescue ::Psych::SyntaxError, ArgumentError, Gem::EndOfYAMLException, Gem::Exception
|
|
679
|
-
eval_gemspec(path, contents)
|
|
680
652
|
end
|
|
681
653
|
|
|
682
654
|
def eval_gemspec(path, contents)
|
|
683
|
-
|
|
655
|
+
if contents.start_with?("---") # YAML header
|
|
656
|
+
eval_yaml_gemspec(path, contents)
|
|
657
|
+
else
|
|
658
|
+
# Eval the gemspec from its parent directory, because some gemspecs
|
|
659
|
+
# depend on "./" relative paths.
|
|
660
|
+
SharedHelpers.chdir(path.dirname.to_s) do
|
|
661
|
+
eval(contents, TOPLEVEL_BINDING.dup, path.expand_path.to_s)
|
|
662
|
+
end
|
|
663
|
+
end
|
|
684
664
|
rescue ScriptError, StandardError => e
|
|
685
665
|
msg = "There was an error while loading `#{path.basename}`: #{e.message}"
|
|
686
666
|
|
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.6.
|
|
4
|
+
version: 2.6.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- André Arko
|
|
@@ -21,7 +21,7 @@ authors:
|
|
|
21
21
|
- Yehuda Katz
|
|
22
22
|
bindir: exe
|
|
23
23
|
cert_chain: []
|
|
24
|
-
date:
|
|
24
|
+
date: 2025-01-16 00:00:00.000000000 Z
|
|
25
25
|
dependencies: []
|
|
26
26
|
description: Bundler manages an application's dependencies through its entire life,
|
|
27
27
|
across many machines, systematically and repeatably
|
|
@@ -411,7 +411,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
411
411
|
- !ruby/object:Gem::Version
|
|
412
412
|
version: 3.3.3
|
|
413
413
|
requirements: []
|
|
414
|
-
rubygems_version: 3.6.
|
|
414
|
+
rubygems_version: 3.6.3
|
|
415
415
|
specification_version: 4
|
|
416
416
|
summary: The best way to manage your application's dependencies
|
|
417
417
|
test_files: []
|