bundler 2.4.6 → 2.4.7
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 +17 -0
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/cli/init.rb +2 -2
- data/lib/bundler/cli.rb +1 -0
- data/lib/bundler/current_ruby.rb +2 -0
- data/lib/bundler/dependency.rb +1 -1
- data/lib/bundler/installer/parallel_installer.rb +16 -2
- data/lib/bundler/installer/standalone.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 +5 -1
- data/lib/bundler/man/bundle-init.1.ronn +2 -0
- 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 +1 -1
- data/lib/bundler/source/git/git_proxy.rb +6 -4
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +6 -2
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +8 -1
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +5 -4
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +4 -2
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +4 -1
- data/lib/bundler/version.rb +1 -1
- metadata +3 -4
- data/lib/bundler/templates/gems.rb +0 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a65f84ced002f9c1ab71db372d85d37f9578c02a5dc1e454ca62c895e7a4d247
|
|
4
|
+
data.tar.gz: f5e1e1f51f2eaa82029c2129a4c703c75a6e8950370be93cc7bd802d89155bda
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 458454313b85996243c7c77ba6ad6fba40ec2185bf657def24c8bce61595c2bd86f973f465dfcebec1ef01130c5c784dc820710437f62de9701bb6317236b3fb
|
|
7
|
+
data.tar.gz: e35d6b4c930214928c4480df520ef5b342107d1d25da2dbc9596591eab94e115b53c2c4432ff5513630f3d60d18c8935b415bdb2b2bbd60e40d04228b8e2d292
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
# 2.4.7 (February 15, 2023)
|
|
2
|
+
|
|
3
|
+
## Enhancements:
|
|
4
|
+
|
|
5
|
+
- Add `--gemfile` flag to `bundle init` to configure gemfile name to generate [#6046](https://github.com/rubygems/rubygems/pull/6046)
|
|
6
|
+
- Improve solve failure explanations by using better wording [#6366](https://github.com/rubygems/rubygems/pull/6366)
|
|
7
|
+
- Restore better error message when locked ref does not exist [#6356](https://github.com/rubygems/rubygems/pull/6356)
|
|
8
|
+
- Avoid crashing when installing from a corrupted lockfile [#6355](https://github.com/rubygems/rubygems/pull/6355)
|
|
9
|
+
- Improve wording of unmet dependencies warning [#6357](https://github.com/rubygems/rubygems/pull/6357)
|
|
10
|
+
- Add Ruby 3.2 and 3.3 platforms to Gemfile DSL [#6346](https://github.com/rubygems/rubygems/pull/6346)
|
|
11
|
+
|
|
12
|
+
## Bug fixes:
|
|
13
|
+
|
|
14
|
+
- Fix crash in pub grub involving empty ranges [#6365](https://github.com/rubygems/rubygems/pull/6365)
|
|
15
|
+
- Make gemspec file generated by `bundle gem` properly exclude itself from packaged gem [#6339](https://github.com/rubygems/rubygems/pull/6339)
|
|
16
|
+
- Preserve relative path sources in standalone setup [#6327](https://github.com/rubygems/rubygems/pull/6327)
|
|
17
|
+
|
|
1
18
|
# 2.4.6 (January 31, 2023)
|
|
2
19
|
|
|
3
20
|
## 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-02-15".freeze
|
|
8
|
+
@git_commit_sha = "5d717a27e0".freeze
|
|
9
9
|
@release = true
|
|
10
10
|
# end ivars
|
|
11
11
|
|
data/lib/bundler/cli/init.rb
CHANGED
|
@@ -32,7 +32,7 @@ module Bundler
|
|
|
32
32
|
file << spec.to_gemfile
|
|
33
33
|
end
|
|
34
34
|
else
|
|
35
|
-
File.open(File.expand_path("../templates
|
|
35
|
+
File.open(File.expand_path("../templates/Gemfile", __dir__), "r") do |template|
|
|
36
36
|
File.open(gemfile, "wb") do |destination|
|
|
37
37
|
IO.copy_stream(template, destination)
|
|
38
38
|
end
|
|
@@ -45,7 +45,7 @@ module Bundler
|
|
|
45
45
|
private
|
|
46
46
|
|
|
47
47
|
def gemfile
|
|
48
|
-
@gemfile ||= Bundler.preferred_gemfile_name
|
|
48
|
+
@gemfile ||= options[:gemfile] || Bundler.preferred_gemfile_name
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
51
|
end
|
data/lib/bundler/cli.rb
CHANGED
|
@@ -156,6 +156,7 @@ module Bundler
|
|
|
156
156
|
dependency listed in the gemspec file to the newly created Gemfile.
|
|
157
157
|
D
|
|
158
158
|
method_option "gemspec", :type => :string, :banner => "Use the specified .gemspec to create the Gemfile"
|
|
159
|
+
method_option "gemfile", :type => :string, :banner => "Use the specified name for the gemfile instead of 'Gemfile'"
|
|
159
160
|
def init
|
|
160
161
|
require_relative "cli/init"
|
|
161
162
|
Init.new(options.dup).run
|
data/lib/bundler/current_ruby.rb
CHANGED
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
|
|
11
11
|
|
|
12
|
-
ALL_RUBY_VERSIONS = ((18..27).to_a + (30..
|
|
12
|
+
ALL_RUBY_VERSIONS = ((18..27).to_a + (30..33).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],
|
|
@@ -47,6 +47,13 @@ module Bundler
|
|
|
47
47
|
dependencies.all? {|d| installed_specs.include? d.name }
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
+
# Check whether spec's dependencies are missing, which can indicate a
|
|
51
|
+
# corrupted lockfile
|
|
52
|
+
def dependencies_missing?(all_specs)
|
|
53
|
+
spec_names = all_specs.map(&:name)
|
|
54
|
+
dependencies.any? {|d| !spec_names.include? d.name }
|
|
55
|
+
end
|
|
56
|
+
|
|
50
57
|
# Represents only the non-development dependencies, the ones that are
|
|
51
58
|
# itself and are in the total list.
|
|
52
59
|
def dependencies
|
|
@@ -110,12 +117,17 @@ module Bundler
|
|
|
110
117
|
|
|
111
118
|
warning = []
|
|
112
119
|
warning << "Your lockfile doesn't include a valid resolution."
|
|
113
|
-
warning << "You can fix this by regenerating your lockfile or
|
|
120
|
+
warning << "You can fix this by regenerating your lockfile or manually editing the bad locked gems to a version that satisfies all dependencies."
|
|
114
121
|
warning << "The unmet dependencies are:"
|
|
115
122
|
|
|
116
123
|
unmet_dependencies.each do |spec, unmet_spec_dependencies|
|
|
117
124
|
unmet_spec_dependencies.each do |unmet_spec_dependency|
|
|
118
|
-
|
|
125
|
+
found = @specs.find {|s| s.name == unmet_spec_dependency.name && !unmet_spec_dependency.matches_spec?(s.spec) }
|
|
126
|
+
if found
|
|
127
|
+
warning << "* #{unmet_spec_dependency}, dependency of #{spec.full_name}, unsatisfied by #{found.full_name}"
|
|
128
|
+
else
|
|
129
|
+
warning << "* #{unmet_spec_dependency}, dependency of #{spec.full_name} but missing from lockfile"
|
|
130
|
+
end
|
|
119
131
|
end
|
|
120
132
|
end
|
|
121
133
|
|
|
@@ -212,6 +224,8 @@ module Bundler
|
|
|
212
224
|
if spec.dependencies_installed? @specs
|
|
213
225
|
spec.state = :enqueued
|
|
214
226
|
worker_pool.enq spec
|
|
227
|
+
elsif spec.dependencies_missing? @specs
|
|
228
|
+
spec.state = :failed
|
|
215
229
|
end
|
|
216
230
|
end
|
|
217
231
|
end
|
|
@@ -52,7 +52,7 @@ module Bundler
|
|
|
52
52
|
|
|
53
53
|
def gem_path(path, spec)
|
|
54
54
|
full_path = Pathname.new(path).absolute? ? path : File.join(spec.full_gem_path, path)
|
|
55
|
-
if spec.source.instance_of?(Source::Path)
|
|
55
|
+
if spec.source.instance_of?(Source::Path) && spec.source.path.absolute?
|
|
56
56
|
full_path
|
|
57
57
|
else
|
|
58
58
|
Pathname.new(full_path).relative_path_from(Bundler.root.join(bundler_path)).to_s
|
|
@@ -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 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" "February 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" "February 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\-CLEAN" "1" "
|
|
4
|
+
.TH "BUNDLE\-CLEAN" "1" "February 2023" "" ""
|
|
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\-CONSOLE" "1" "
|
|
4
|
+
.TH "BUNDLE\-CONSOLE" "1" "February 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\-INFO" "1" "
|
|
4
|
+
.TH "BUNDLE\-INFO" "1" "February 2023" "" ""
|
|
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 2023" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-init\fR \- Generates a Gemfile into the current working directory
|
|
@@ -18,6 +18,10 @@ Init generates a default [\fBGemfile(5)\fR][Gemfile(5)] in the current working d
|
|
|
18
18
|
\fB\-\-gemspec\fR
|
|
19
19
|
Use the specified \.gemspec to create the [\fBGemfile(5)\fR][Gemfile(5)]
|
|
20
20
|
.
|
|
21
|
+
.TP
|
|
22
|
+
\fB\-\-gemfile\fR
|
|
23
|
+
Use the specified name for the gemfile instead of \fBGemfile\fR
|
|
24
|
+
.
|
|
21
25
|
.SH "FILES"
|
|
22
26
|
Included in the default [\fBGemfile(5)\fR][Gemfile(5)] generated is the line \fB# frozen_string_literal: true\fR\. This is a magic comment supported for the first time in Ruby 2\.3\. The presence of this line results in all string literals in the file being implicitly frozen\.
|
|
23
27
|
.
|
|
@@ -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 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" "February 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" "February 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" "February 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" "February 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" "February 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" "February 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" "February 2023" "" ""
|
|
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 2023" "" ""
|
|
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
|
@@ -139,8 +139,8 @@ module Bundler
|
|
|
139
139
|
out, err, status = capture(command, path)
|
|
140
140
|
return out if status.success?
|
|
141
141
|
|
|
142
|
-
if err.include?("couldn't find remote ref")
|
|
143
|
-
raise MissingGitRevisionError.new(command_with_no_credentials, path, explicit_ref, credential_filtered_uri)
|
|
142
|
+
if err.include?("couldn't find remote ref") || err.include?("not our ref")
|
|
143
|
+
raise MissingGitRevisionError.new(command_with_no_credentials, path, commit || explicit_ref, credential_filtered_uri)
|
|
144
144
|
else
|
|
145
145
|
raise GitCommandError.new(command_with_no_credentials, path, err)
|
|
146
146
|
end
|
|
@@ -186,8 +186,6 @@ module Bundler
|
|
|
186
186
|
end
|
|
187
187
|
|
|
188
188
|
def refspec
|
|
189
|
-
commit = pinned_to_full_sha? ? ref : @revision
|
|
190
|
-
|
|
191
189
|
if commit
|
|
192
190
|
@commit_ref = "refs/#{commit}-sha"
|
|
193
191
|
return "#{commit}:#{@commit_ref}"
|
|
@@ -206,6 +204,10 @@ module Bundler
|
|
|
206
204
|
"#{reference}:#{reference}"
|
|
207
205
|
end
|
|
208
206
|
|
|
207
|
+
def commit
|
|
208
|
+
@commit ||= pinned_to_full_sha? ? ref : @revision
|
|
209
|
+
end
|
|
210
|
+
|
|
209
211
|
def fully_qualified_ref
|
|
210
212
|
if branch
|
|
211
213
|
"refs/heads/#{branch}"
|
|
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
|
|
|
29
29
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
30
30
|
spec.files = Dir.chdir(__dir__) do
|
|
31
31
|
`git ls-files -z`.split("\x0").reject do |f|
|
|
32
|
-
(f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|circleci)|appveyor)})
|
|
32
|
+
(File.expand_path(f) == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|circleci)|appveyor)})
|
|
33
33
|
end
|
|
34
34
|
end
|
|
35
35
|
spec.bindir = "exe"
|
|
@@ -76,9 +76,13 @@ module Bundler::PubGrub
|
|
|
76
76
|
elsif terms.length == 1
|
|
77
77
|
term = terms[0]
|
|
78
78
|
if term.positive?
|
|
79
|
-
|
|
79
|
+
if term.constraint.any?
|
|
80
|
+
"#{term.package} cannot be used"
|
|
81
|
+
else
|
|
82
|
+
"#{term.to_s(allow_every: true)} cannot be used"
|
|
83
|
+
end
|
|
80
84
|
else
|
|
81
|
-
"#{
|
|
85
|
+
"#{term.invert} is required"
|
|
82
86
|
end
|
|
83
87
|
else
|
|
84
88
|
if terms.all?(&:positive?)
|
|
@@ -19,7 +19,14 @@ module Bundler::PubGrub
|
|
|
19
19
|
version = Gem::Version.new(version)
|
|
20
20
|
@packages[name] ||= {}
|
|
21
21
|
raise ArgumentError, "#{name} #{version} declared twice" if @packages[name].key?(version)
|
|
22
|
-
@packages[name][version] = deps
|
|
22
|
+
@packages[name][version] = clean_deps(name, version, deps)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
private
|
|
26
|
+
|
|
27
|
+
# Exclude redundant self-referencing dependencies
|
|
28
|
+
def clean_deps(name, version, deps)
|
|
29
|
+
deps.reject {|dep_name, req| name == dep_name && Bundler::PubGrub::RubyGems.parse_range(req).include?(version) }
|
|
23
30
|
end
|
|
24
31
|
end
|
|
25
32
|
|
|
@@ -15,15 +15,16 @@ module Bundler::PubGrub
|
|
|
15
15
|
package.hash ^ range.hash
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
+
def ==(other)
|
|
19
|
+
package == other.package &&
|
|
20
|
+
range == other.range
|
|
21
|
+
end
|
|
22
|
+
|
|
18
23
|
def eql?(other)
|
|
19
24
|
package.eql?(other.package) &&
|
|
20
25
|
range.eql?(other.range)
|
|
21
26
|
end
|
|
22
27
|
|
|
23
|
-
def ==(other)
|
|
24
|
-
package == other.package && range == other.range
|
|
25
|
-
end
|
|
26
|
-
|
|
27
28
|
class << self
|
|
28
29
|
def exact(package, version)
|
|
29
30
|
range = VersionRange.new(min: version, max: version, include_min: true, include_max: true)
|
|
@@ -19,7 +19,7 @@ module Bundler::PubGrub
|
|
|
19
19
|
true
|
|
20
20
|
end
|
|
21
21
|
|
|
22
|
-
def eql?
|
|
22
|
+
def eql?(other)
|
|
23
23
|
other.empty?
|
|
24
24
|
end
|
|
25
25
|
|
|
@@ -65,6 +65,7 @@ module Bundler::PubGrub
|
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
EMPTY = Empty.new
|
|
68
|
+
Empty.singleton_class.undef_method(:new)
|
|
68
69
|
|
|
69
70
|
def self.empty
|
|
70
71
|
EMPTY
|
|
@@ -88,7 +89,8 @@ module Bundler::PubGrub
|
|
|
88
89
|
|
|
89
90
|
def eql?(other)
|
|
90
91
|
if other.is_a?(VersionRange)
|
|
91
|
-
|
|
92
|
+
!other.empty? &&
|
|
93
|
+
min.eql?(other.min) &&
|
|
92
94
|
max.eql?(other.max) &&
|
|
93
95
|
include_min.eql?(other.include_min) &&
|
|
94
96
|
include_max.eql?(other.include_max)
|
|
@@ -125,6 +125,7 @@ module Bundler::PubGrub
|
|
|
125
125
|
package = next_package_to_try
|
|
126
126
|
unsatisfied_term = solution.unsatisfied.find { |t| t.package == package }
|
|
127
127
|
version = source.versions_for(package, unsatisfied_term.constraint.range).first
|
|
128
|
+
logger.debug { "attempting #{package} #{version}" }
|
|
128
129
|
|
|
129
130
|
if version.nil?
|
|
130
131
|
add_incompatibility source.no_versions_incompatibility_for(package, unsatisfied_term)
|
|
@@ -148,9 +149,11 @@ module Bundler::PubGrub
|
|
|
148
149
|
end
|
|
149
150
|
|
|
150
151
|
unless conflict
|
|
151
|
-
logger.info { "
|
|
152
|
+
logger.info { "selected #{package} #{version}" }
|
|
152
153
|
|
|
153
154
|
solution.decide(package, version)
|
|
155
|
+
else
|
|
156
|
+
logger.info { "conflict: #{conflict.inspect}" }
|
|
154
157
|
end
|
|
155
158
|
|
|
156
159
|
package
|
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.7
|
|
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-02-15 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
|
|
@@ -228,7 +228,6 @@ files:
|
|
|
228
228
|
- lib/bundler/templates/Executable.bundler
|
|
229
229
|
- lib/bundler/templates/Executable.standalone
|
|
230
230
|
- lib/bundler/templates/Gemfile
|
|
231
|
-
- lib/bundler/templates/gems.rb
|
|
232
231
|
- lib/bundler/templates/newgem/CHANGELOG.md.tt
|
|
233
232
|
- lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt
|
|
234
233
|
- lib/bundler/templates/newgem/Cargo.toml.tt
|
|
@@ -380,7 +379,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
380
379
|
- !ruby/object:Gem::Version
|
|
381
380
|
version: 3.0.1
|
|
382
381
|
requirements: []
|
|
383
|
-
rubygems_version: 3.4.
|
|
382
|
+
rubygems_version: 3.4.7
|
|
384
383
|
signing_key:
|
|
385
384
|
specification_version: 4
|
|
386
385
|
summary: The best way to manage your application's dependencies
|