bundler 2.4.8 → 2.4.9
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 +25 -0
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/endpoint_specification.rb +0 -4
- data/lib/bundler/fetcher/dependency.rb +1 -5
- data/lib/bundler/incomplete_specification.rb +24 -0
- data/lib/bundler/lazy_specification.rb +4 -8
- data/lib/bundler/lockfile_parser.rb +2 -2
- data/lib/bundler/remote_specification.rb +2 -6
- data/lib/bundler/resolver/base.rb +5 -3
- data/lib/bundler/resolver.rb +6 -9
- data/lib/bundler/settings.rb +1 -1
- data/lib/bundler/shared_helpers.rb +1 -1
- data/lib/bundler/source/git/git_proxy.rb +5 -0
- data/lib/bundler/source/git.rb +1 -1
- data/lib/bundler/source/rubygems.rb +1 -2
- data/lib/bundler/spec_set.rb +12 -11
- data/lib/bundler/templates/newgem/Gemfile.tt +1 -1
- data/lib/bundler/templates/newgem/Rakefile.tt +10 -0
- data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +1 -1
- data/lib/bundler/uri_normalizer.rb +23 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +0 -5
- data/lib/bundler/version.rb +1 -1
- data/lib/bundler.rb +2 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bea219e989f6693457e01025c959a3ece35ee46c5c07df07cd06e56f475c06dd
|
4
|
+
data.tar.gz: 389b2a53b46bb41a4c95d1ed70e6d4cc3f422de3e8f73ef70067c1e6477da277
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f9d947e46ea956603b8893d024e6833da24b8684416b9d25376cac3279a641d6bf18bf156b67af1fa2c490020064e09eac1ae04ff759bf0945bc189298a24cb
|
7
|
+
data.tar.gz: f78b90fb696e544268cb590af87b7e6ab4d22c9918222d7d494dde6bc28c91b555af93afa0b61f8ae863a1c48f5151e0370d3443285ae45c7418745e8225f592
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,28 @@
|
|
1
|
+
# 2.4.9 (March 20, 2023)
|
2
|
+
|
3
|
+
## Security:
|
4
|
+
|
5
|
+
- Don't recommend `--full-index` on errors [#6493](https://github.com/rubygems/rubygems/pull/6493)
|
6
|
+
|
7
|
+
## Enhancements:
|
8
|
+
|
9
|
+
- Fix duplicated specs in some error messages [#6475](https://github.com/rubygems/rubygems/pull/6475)
|
10
|
+
- When running `bundle lock --update <name>`, checkout locked revision of unrelated git sources directly [#6459](https://github.com/rubygems/rubygems/pull/6459)
|
11
|
+
- Avoid expiring git sources when unnecessary [#6458](https://github.com/rubygems/rubygems/pull/6458)
|
12
|
+
- Use `RbSys::ExtensionTask` when creating new rust gems [#6352](https://github.com/rubygems/rubygems/pull/6352)
|
13
|
+
- Don't ignore pre-releases when there's only one candidate [#6441](https://github.com/rubygems/rubygems/pull/6441)
|
14
|
+
|
15
|
+
## Bug fixes:
|
16
|
+
|
17
|
+
- Fix incorrect removal of ruby platform when auto-healing corrupted lockfiles [#6495](https://github.com/rubygems/rubygems/pull/6495)
|
18
|
+
- Don't consider platform specific candidates when `force_ruby_platform` set [#6442](https://github.com/rubygems/rubygems/pull/6442)
|
19
|
+
- Better deal with circular dependencies [#6330](https://github.com/rubygems/rubygems/pull/6330)
|
20
|
+
|
21
|
+
## Documentation:
|
22
|
+
|
23
|
+
- Add debugging docs [#6387](https://github.com/rubygems/rubygems/pull/6387)
|
24
|
+
- Document our current release policy [#6450](https://github.com/rubygems/rubygems/pull/6450)
|
25
|
+
|
1
26
|
# 2.4.8 (March 8, 2023)
|
2
27
|
|
3
28
|
## Security:
|
@@ -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-03-
|
8
|
-
@git_commit_sha = "
|
7
|
+
@built_at = "2023-03-20".freeze
|
8
|
+
@git_commit_sha = "6f8e92bcc6".freeze
|
9
9
|
@release = true
|
10
10
|
# end ivars
|
11
11
|
|
@@ -34,14 +34,10 @@ module Bundler
|
|
34
34
|
|
35
35
|
returned_gems = spec_list.map(&:first).uniq
|
36
36
|
specs(deps_list, full_dependency_list + returned_gems, spec_list + last_spec_list)
|
37
|
-
rescue MarshalError
|
37
|
+
rescue MarshalError, HTTPError, GemspecError
|
38
38
|
Bundler.ui.info "" unless Bundler.ui.debug? # new line now that the dots are over
|
39
39
|
Bundler.ui.debug "could not fetch from the dependency API, trying the full index"
|
40
40
|
nil
|
41
|
-
rescue HTTPError, GemspecError
|
42
|
-
Bundler.ui.info "" unless Bundler.ui.debug? # new line now that the dots are over
|
43
|
-
Bundler.ui.debug "could not fetch from the dependency API\nit's suggested to retry using the full index via `bundle install --full-index`"
|
44
|
-
nil
|
45
41
|
end
|
46
42
|
|
47
43
|
def dependency_specs(gem_names)
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Bundler
|
4
|
+
#
|
5
|
+
# Represents a package name that was found to be incomplete when trying to
|
6
|
+
# materialize a fresh resolution or the lockfile.
|
7
|
+
#
|
8
|
+
# Holds the actual partially complete set of specifications for the name.
|
9
|
+
# These are used so that they can be unlocked in a future resolution, and fix
|
10
|
+
# the situation.
|
11
|
+
#
|
12
|
+
class IncompleteSpecification
|
13
|
+
attr_reader :name, :partially_complete_specs
|
14
|
+
|
15
|
+
def initialize(name, partially_complete_specs = [])
|
16
|
+
@name = name
|
17
|
+
@partially_complete_specs = partially_complete_specs
|
18
|
+
end
|
19
|
+
|
20
|
+
def ==(other)
|
21
|
+
partially_complete_specs == other.partially_complete_specs
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -20,7 +20,7 @@ module Bundler
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def full_name
|
23
|
-
if platform == Gem::Platform::RUBY
|
23
|
+
@full_name ||= if platform == Gem::Platform::RUBY
|
24
24
|
"#{@name}-#{@version}"
|
25
25
|
else
|
26
26
|
"#{@name}-#{@version}-#{platform}"
|
@@ -28,15 +28,15 @@ module Bundler
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def ==(other)
|
31
|
-
|
31
|
+
full_name == other.full_name
|
32
32
|
end
|
33
33
|
|
34
34
|
def eql?(other)
|
35
|
-
|
35
|
+
full_name.eql?(other.full_name)
|
36
36
|
end
|
37
37
|
|
38
38
|
def hash
|
39
|
-
|
39
|
+
full_name.hash
|
40
40
|
end
|
41
41
|
|
42
42
|
##
|
@@ -129,10 +129,6 @@ module Bundler
|
|
129
129
|
end
|
130
130
|
end
|
131
131
|
|
132
|
-
def identifier
|
133
|
-
@__identifier ||= [name, version, platform.to_s]
|
134
|
-
end
|
135
|
-
|
136
132
|
def git_version
|
137
133
|
return unless source.is_a?(Bundler::Source::Git)
|
138
134
|
" #{source.revision[0..6]}"
|
@@ -86,7 +86,7 @@ module Bundler
|
|
86
86
|
send("parse_#{@state}", line)
|
87
87
|
end
|
88
88
|
end
|
89
|
-
@specs = @specs.values.sort_by(&:
|
89
|
+
@specs = @specs.values.sort_by(&:full_name)
|
90
90
|
rescue ArgumentError => e
|
91
91
|
Bundler.ui.debug(e)
|
92
92
|
raise LockfileError, "Your lockfile is unreadable. Run `rm #{Bundler.default_lockfile.relative_path_from(SharedHelpers.pwd)}` " \
|
@@ -199,7 +199,7 @@ module Bundler
|
|
199
199
|
@current_spec.source = @current_source
|
200
200
|
@current_source.add_dependency_names(name)
|
201
201
|
|
202
|
-
@specs[@current_spec.
|
202
|
+
@specs[@current_spec.full_name] = @current_spec
|
203
203
|
elsif spaces.size == 6
|
204
204
|
version = version.split(",").map(&:strip) if version
|
205
205
|
dep = Gem::Dependency.new(name, version)
|
@@ -29,12 +29,8 @@ module Bundler
|
|
29
29
|
@platform = _remote_specification.platform
|
30
30
|
end
|
31
31
|
|
32
|
-
def identifier
|
33
|
-
@__identifier ||= [name, version, @platform.to_s]
|
34
|
-
end
|
35
|
-
|
36
32
|
def full_name
|
37
|
-
if @platform == Gem::Platform::RUBY
|
33
|
+
@full_name ||= if @platform == Gem::Platform::RUBY
|
38
34
|
"#{@name}-#{@version}"
|
39
35
|
else
|
40
36
|
"#{@name}-#{@version}-#{@platform}"
|
@@ -106,7 +102,7 @@ module Bundler
|
|
106
102
|
def _remote_specification
|
107
103
|
@_remote_specification ||= @spec_fetcher.fetch_spec([@name, @version, @original_platform])
|
108
104
|
@_remote_specification || raise(GemspecError, "Gemspec data for #{full_name} was" \
|
109
|
-
" missing from the server!
|
105
|
+
" missing from the server!")
|
110
106
|
end
|
111
107
|
|
112
108
|
def method_missing(method, *args, &blk)
|
@@ -34,9 +34,11 @@ module Bundler
|
|
34
34
|
@base[name]
|
35
35
|
end
|
36
36
|
|
37
|
-
def delete(
|
38
|
-
|
39
|
-
|
37
|
+
def delete(incomplete_specs)
|
38
|
+
incomplete_specs.each do |incomplete_spec|
|
39
|
+
incomplete_spec.partially_complete_specs.each do |spec|
|
40
|
+
@base.delete(spec)
|
41
|
+
end
|
40
42
|
end
|
41
43
|
end
|
42
44
|
|
data/lib/bundler/resolver.rb
CHANGED
@@ -37,7 +37,9 @@ module Bundler
|
|
37
37
|
root_version = Resolver::Candidate.new(0)
|
38
38
|
|
39
39
|
@all_specs = Hash.new do |specs, name|
|
40
|
-
specs[name] = source_for(name).specs.search(name).
|
40
|
+
specs[name] = source_for(name).specs.search(name).reject do |s|
|
41
|
+
s.dependencies.any? {|d| d.name == name && !d.requirement.satisfied_by?(s.version) } # ignore versions that depend on themselves incorrectly
|
42
|
+
end.sort_by {|s| [s.version, s.platform.to_s] }
|
41
43
|
end
|
42
44
|
|
43
45
|
@sorted_versions = Hash.new do |candidates, package|
|
@@ -55,7 +57,7 @@ module Bundler
|
|
55
57
|
{ root_version => root_dependencies }
|
56
58
|
else
|
57
59
|
Hash.new do |versions, version|
|
58
|
-
versions[version] = to_dependency_hash(version.dependencies, @packages)
|
60
|
+
versions[version] = to_dependency_hash(version.dependencies.reject {|d| d.name == package.name }, @packages)
|
59
61
|
end
|
60
62
|
end
|
61
63
|
end
|
@@ -186,11 +188,6 @@ module Bundler
|
|
186
188
|
package_deps = @cached_dependencies[package]
|
187
189
|
sorted_versions = @sorted_versions[package]
|
188
190
|
package_deps[version].map do |dep_package, dep_constraint|
|
189
|
-
if package == dep_package
|
190
|
-
cause = PubGrub::Incompatibility::CircularDependency.new(dep_package, dep_constraint.constraint_string)
|
191
|
-
return [PubGrub::Incompatibility.new([PubGrub::Term.new(dep_constraint, true)], :cause => cause)]
|
192
|
-
end
|
193
|
-
|
194
191
|
low = high = sorted_versions.index(version)
|
195
192
|
|
196
193
|
# find version low such that all >= low share the same dep
|
@@ -243,7 +240,7 @@ module Bundler
|
|
243
240
|
ruby_specs = select_best_platform_match(specs, Gem::Platform::RUBY)
|
244
241
|
groups << Resolver::Candidate.new(version, :specs => ruby_specs) if ruby_specs.any?
|
245
242
|
|
246
|
-
next groups if platform_specs == ruby_specs
|
243
|
+
next groups if platform_specs == ruby_specs || package.force_ruby_platform?
|
247
244
|
|
248
245
|
groups << Resolver::Candidate.new(version, :specs => platform_specs)
|
249
246
|
|
@@ -302,7 +299,7 @@ module Bundler
|
|
302
299
|
end
|
303
300
|
|
304
301
|
def filter_prereleases(specs, package)
|
305
|
-
return specs unless package.ignores_prereleases?
|
302
|
+
return specs unless package.ignores_prereleases? && specs.size > 1
|
306
303
|
|
307
304
|
specs.reject {|s| s.version.prerelease? }
|
308
305
|
end
|
data/lib/bundler/settings.rb
CHANGED
@@ -160,7 +160,7 @@ module Bundler
|
|
160
160
|
" (was expecting #{old_deps.map(&:to_s)}, but the real spec has #{new_deps.map(&:to_s)})"
|
161
161
|
raise APIResponseMismatchError,
|
162
162
|
"Downloading #{spec.full_name} revealed dependencies not in the API or the lockfile (#{extra_deps.join(", ")})." \
|
163
|
-
"\
|
163
|
+
"\nRunning `bundle update #{spec.name}` should fix the problem."
|
164
164
|
end
|
165
165
|
|
166
166
|
def pretty_dependency(dep)
|
@@ -366,6 +366,11 @@ module Bundler
|
|
366
366
|
args += ["--single-branch"]
|
367
367
|
args.unshift("--no-tags") if supports_cloning_with_no_tags?
|
368
368
|
|
369
|
+
# If there's a locked revision, no need to clone any specific branch
|
370
|
+
# or tag, since we will end up checking out that locked revision
|
371
|
+
# anyways.
|
372
|
+
return args if @revision
|
373
|
+
|
369
374
|
args += ["--branch", branch || tag] if branch || tag
|
370
375
|
args
|
371
376
|
end
|
data/lib/bundler/source/git.rb
CHANGED
@@ -19,7 +19,7 @@ module Bundler
|
|
19
19
|
# Stringify options that could be set as symbols
|
20
20
|
%w[ref branch tag revision].each {|k| options[k] = options[k].to_s if options[k] }
|
21
21
|
|
22
|
-
@uri = options["uri"] || ""
|
22
|
+
@uri = URINormalizer.normalize_suffix(options["uri"] || "", :trailing_slash => false)
|
23
23
|
@safe_uri = URICredentialsFilter.credential_filtered_uri(@uri)
|
24
24
|
@branch = options["branch"]
|
25
25
|
@ref = options["ref"] || options["branch"] || options["tag"]
|
@@ -337,8 +337,7 @@ module Bundler
|
|
337
337
|
end
|
338
338
|
|
339
339
|
def normalize_uri(uri)
|
340
|
-
uri = uri.to_s
|
341
|
-
uri = "#{uri}/" unless %r{/$}.match?(uri)
|
340
|
+
uri = URINormalizer.normalize_suffix(uri.to_s)
|
342
341
|
require_relative "../vendored_uri"
|
343
342
|
uri = Bundler::URI(uri)
|
344
343
|
raise ArgumentError, "The source must be an absolute URI. For example:\n" \
|
data/lib/bundler/spec_set.rb
CHANGED
@@ -7,11 +7,8 @@ module Bundler
|
|
7
7
|
include Enumerable
|
8
8
|
include TSort
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
def initialize(specs, incomplete_specs = [])
|
10
|
+
def initialize(specs)
|
13
11
|
@specs = specs
|
14
|
-
@incomplete_specs = incomplete_specs
|
15
12
|
end
|
16
13
|
|
17
14
|
def for(dependencies, check = false, platforms = [nil])
|
@@ -45,11 +42,11 @@ module Bundler
|
|
45
42
|
end
|
46
43
|
|
47
44
|
if incomplete && check
|
48
|
-
|
45
|
+
specs << IncompleteSpecification.new(name, lookup[name])
|
49
46
|
end
|
50
47
|
end
|
51
48
|
|
52
|
-
specs
|
49
|
+
specs.uniq
|
53
50
|
end
|
54
51
|
|
55
52
|
def [](key)
|
@@ -81,10 +78,10 @@ module Bundler
|
|
81
78
|
lookup.dup
|
82
79
|
end
|
83
80
|
|
84
|
-
def materialize(deps)
|
85
|
-
materialized = self.for(deps, true)
|
81
|
+
def materialize(deps, platforms = [nil])
|
82
|
+
materialized = self.for(deps, true, platforms)
|
86
83
|
|
87
|
-
SpecSet.new(materialized
|
84
|
+
SpecSet.new(materialized)
|
88
85
|
end
|
89
86
|
|
90
87
|
# Materialize for all the specs in the spec set, regardless of what platform they're for
|
@@ -101,15 +98,19 @@ module Bundler
|
|
101
98
|
end
|
102
99
|
|
103
100
|
def incomplete_ruby_specs?(deps)
|
104
|
-
|
101
|
+
return false if @specs.empty?
|
105
102
|
|
106
|
-
|
103
|
+
materialize(deps, [Gem::Platform::RUBY]).incomplete_specs.any?
|
107
104
|
end
|
108
105
|
|
109
106
|
def missing_specs
|
110
107
|
@specs.select {|s| s.is_a?(LazySpecification) }
|
111
108
|
end
|
112
109
|
|
110
|
+
def incomplete_specs
|
111
|
+
@specs.select {|s| s.is_a?(IncompleteSpecification) }
|
112
|
+
end
|
113
|
+
|
113
114
|
def merge(set)
|
114
115
|
arr = sorted.dup
|
115
116
|
set.each do |set_spec|
|
@@ -41,6 +41,15 @@ require "standard/rake"
|
|
41
41
|
<% if config[:ext] -%>
|
42
42
|
<% default_task_names.unshift(:compile) -%>
|
43
43
|
<% default_task_names.unshift(:clobber) unless config[:ext] == 'rust' -%>
|
44
|
+
<% if config[:ext] == 'rust' -%>
|
45
|
+
require "rb_sys/extensiontask"
|
46
|
+
|
47
|
+
task build: :compile
|
48
|
+
|
49
|
+
RbSys::ExtensionTask.new(<%= config[:name].inspect %>) do |ext|
|
50
|
+
ext.lib_dir = "lib/<%= config[:namespaced_path] %>"
|
51
|
+
end
|
52
|
+
<% else -%>
|
44
53
|
require "rake/extensiontask"
|
45
54
|
|
46
55
|
task build: :compile
|
@@ -48,6 +57,7 @@ task build: :compile
|
|
48
57
|
Rake::ExtensionTask.new("<%= config[:underscored_name] %>") do |ext|
|
49
58
|
ext.lib_dir = "lib/<%= config[:namespaced_path] %>"
|
50
59
|
end
|
60
|
+
<% end -%>
|
51
61
|
|
52
62
|
<% end -%>
|
53
63
|
<% if default_task_names.size == 1 -%>
|
@@ -20,7 +20,7 @@ jobs:
|
|
20
20
|
- uses: actions/checkout@v3
|
21
21
|
<%- if config[:ext] == 'rust' -%>
|
22
22
|
- name: Set up Ruby & Rust
|
23
|
-
uses: oxidize-rb/actions/setup-ruby-and-rust@
|
23
|
+
uses: oxidize-rb/actions/setup-ruby-and-rust@v1
|
24
24
|
with:
|
25
25
|
ruby-version: ${{ matrix.ruby }}
|
26
26
|
bundler-cache: true
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Bundler
|
4
|
+
module URINormalizer
|
5
|
+
module_function
|
6
|
+
|
7
|
+
# Normalizes uri to a consistent version, either with or without trailing
|
8
|
+
# slash.
|
9
|
+
#
|
10
|
+
# TODO: Currently gem sources are locked with a trailing slash, while git
|
11
|
+
# sources are locked without a trailing slash. This should be normalized but
|
12
|
+
# the inconsistency is there for now to avoid changing all lockfiles
|
13
|
+
# including GIT sources. We could normalize this on the next major.
|
14
|
+
#
|
15
|
+
def normalize_suffix(uri, trailing_slash: true)
|
16
|
+
if trailing_slash
|
17
|
+
uri.end_with?("/") ? uri : "#{uri}/"
|
18
|
+
else
|
19
|
+
uri.end_with?("/") ? uri.delete_suffix("/") : uri
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -8,9 +8,6 @@ module Bundler::PubGrub
|
|
8
8
|
InvalidDependency = Struct.new(:package, :constraint) do
|
9
9
|
end
|
10
10
|
|
11
|
-
CircularDependency = Struct.new(:package, :constraint) do
|
12
|
-
end
|
13
|
-
|
14
11
|
NoVersions = Struct.new(:constraint) do
|
15
12
|
end
|
16
13
|
|
@@ -66,8 +63,6 @@ module Bundler::PubGrub
|
|
66
63
|
"#{terms[0].to_s(allow_every: true)} depends on #{terms[1].invert}"
|
67
64
|
when Bundler::PubGrub::Incompatibility::InvalidDependency
|
68
65
|
"#{terms[0].to_s(allow_every: true)} depends on unknown package #{cause.package}"
|
69
|
-
when Bundler::PubGrub::Incompatibility::CircularDependency
|
70
|
-
"#{terms[0].to_s(allow_every: true)} depends on itself"
|
71
66
|
when Bundler::PubGrub::Incompatibility::NoVersions
|
72
67
|
"no versions satisfy #{cause.constraint}"
|
73
68
|
when Bundler::PubGrub::Incompatibility::ConflictCause
|
data/lib/bundler/version.rb
CHANGED
data/lib/bundler.rb
CHANGED
@@ -62,6 +62,7 @@ module Bundler
|
|
62
62
|
autoload :GemHelpers, File.expand_path("bundler/gem_helpers", __dir__)
|
63
63
|
autoload :GemVersionPromoter, File.expand_path("bundler/gem_version_promoter", __dir__)
|
64
64
|
autoload :Graph, File.expand_path("bundler/graph", __dir__)
|
65
|
+
autoload :IncompleteSpecification, File.expand_path("bundler/incomplete_specification", __dir__)
|
65
66
|
autoload :Index, File.expand_path("bundler/index", __dir__)
|
66
67
|
autoload :Injector, File.expand_path("bundler/injector", __dir__)
|
67
68
|
autoload :Installer, File.expand_path("bundler/installer", __dir__)
|
@@ -85,6 +86,7 @@ module Bundler
|
|
85
86
|
autoload :StubSpecification, File.expand_path("bundler/stub_specification", __dir__)
|
86
87
|
autoload :UI, File.expand_path("bundler/ui", __dir__)
|
87
88
|
autoload :URICredentialsFilter, File.expand_path("bundler/uri_credentials_filter", __dir__)
|
89
|
+
autoload :URINormalizer, File.expand_path("bundler/uri_normalizer", __dir__)
|
88
90
|
|
89
91
|
class << self
|
90
92
|
def configure
|
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.9
|
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-03-
|
25
|
+
date: 2023-03-20 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
|
@@ -103,6 +103,7 @@ files:
|
|
103
103
|
- lib/bundler/gem_tasks.rb
|
104
104
|
- lib/bundler/gem_version_promoter.rb
|
105
105
|
- lib/bundler/graph.rb
|
106
|
+
- lib/bundler/incomplete_specification.rb
|
106
107
|
- lib/bundler/index.rb
|
107
108
|
- lib/bundler/injector.rb
|
108
109
|
- lib/bundler/inline.rb
|
@@ -266,6 +267,7 @@ files:
|
|
266
267
|
- lib/bundler/ui/shell.rb
|
267
268
|
- lib/bundler/ui/silent.rb
|
268
269
|
- lib/bundler/uri_credentials_filter.rb
|
270
|
+
- lib/bundler/uri_normalizer.rb
|
269
271
|
- lib/bundler/vendor/.document
|
270
272
|
- lib/bundler/vendor/connection_pool/LICENSE
|
271
273
|
- lib/bundler/vendor/connection_pool/lib/connection_pool.rb
|
@@ -379,7 +381,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
379
381
|
- !ruby/object:Gem::Version
|
380
382
|
version: 3.0.1
|
381
383
|
requirements: []
|
382
|
-
rubygems_version: 3.4.
|
384
|
+
rubygems_version: 3.4.9
|
383
385
|
signing_key:
|
384
386
|
specification_version: 4
|
385
387
|
summary: The best way to manage your application's dependencies
|