bundler 2.6.2 → 2.6.3
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|