bundler 2.2.32 → 2.2.34
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 +29 -0
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/cli/doctor.rb +3 -2
- data/lib/bundler/cli/gem.rb +1 -0
- data/lib/bundler/cli/info.rb +6 -1
- data/lib/bundler/cli/update.rb +2 -2
- data/lib/bundler/cli.rb +1 -0
- data/lib/bundler/compact_index_client/updater.rb +0 -5
- data/lib/bundler/definition.rb +17 -50
- data/lib/bundler/dsl.rb +18 -3
- data/lib/bundler/environment_preserver.rb +4 -1
- data/lib/bundler/lazy_specification.rb +17 -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-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-info.1 +1 -1
- data/lib/bundler/man/bundle-init.1 +1 -1
- data/lib/bundler/man/bundle-inject.1 +1 -1
- data/lib/bundler/man/bundle-install.1 +1 -1
- data/lib/bundler/man/bundle-list.1 +1 -1
- data/lib/bundler/man/bundle-lock.1 +1 -1
- data/lib/bundler/man/bundle-open.1 +1 -1
- data/lib/bundler/man/bundle-outdated.1 +1 -1
- data/lib/bundler/man/bundle-platform.1 +1 -1
- data/lib/bundler/man/bundle-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-viz.1 +1 -1
- data/lib/bundler/man/bundle.1 +1 -1
- data/lib/bundler/man/gemfile.5 +27 -1
- data/lib/bundler/man/gemfile.5.ronn +8 -0
- data/lib/bundler/plugin/api/source.rb +1 -0
- data/lib/bundler/resolver.rb +2 -4
- data/lib/bundler/shared_helpers.rb +2 -3
- data/lib/bundler/source/git/git_proxy.rb +2 -2
- data/lib/bundler/source/rubygems.rb +16 -12
- data/lib/bundler/source/rubygems_aggregate.rb +1 -1
- data/lib/bundler/source.rb +1 -1
- data/lib/bundler/source_list.rb +7 -29
- data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +2 -2
- data/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
- data/lib/bundler/vendor/.document +1 -0
- data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +6 -6
- data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +1 -2
- data/lib/bundler/vendor/thor/lib/thor/actions.rb +6 -2
- data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +6 -0
- data/lib/bundler/vendor/thor/lib/thor/error.rb +9 -4
- data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +19 -1
- data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +22 -4
- data/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/util.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/lib/bundler/version.rb +1 -1
- 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: 3f86325ff87c89b7223a6f49a0b4f89cf01fed7e897e96f164c24da929bb0e06
|
|
4
|
+
data.tar.gz: f55070b88530e57e86001375052cb4220d24382cd7078797312311952c00bde9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5f15b70e3daac175144a67a5ee44a0017da198742216c2959756a31b3bd69250df726331f611739e5bc5601d531f70242a12f948da96d8df89cb0e6312b84b9b
|
|
7
|
+
data.tar.gz: 1149616abac6c71289d861a2c64f765b8814ada5d5ae06c822be4893da7e28f133d40b2e3dfea3e919bf5fc7236031dafd31504b3616851caf2315f12166c2e7
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,32 @@
|
|
|
1
|
+
# 2.2.33 (December 7, 2021)
|
|
2
|
+
|
|
3
|
+
## Security fixes:
|
|
4
|
+
|
|
5
|
+
- Pass "--" to git commands to separate positional and optional args [#5142](https://github.com/rubygems/rubygems/pull/5142)
|
|
6
|
+
|
|
7
|
+
## Enhancements:
|
|
8
|
+
|
|
9
|
+
- Accept pull request URLs as github source [#5126](https://github.com/rubygems/rubygems/pull/5126)
|
|
10
|
+
- Add `--version` parameter to `bundle info` command [#5137](https://github.com/rubygems/rubygems/pull/5137)
|
|
11
|
+
- Let original `Errno::EACCES` error be raised in compact index updater [#5110](https://github.com/rubygems/rubygems/pull/5110)
|
|
12
|
+
- Improve gemfile-lockfile source equivalence errors [#5120](https://github.com/rubygems/rubygems/pull/5120)
|
|
13
|
+
- Avoid float-to-string loss of characters in GitHub Actions configuration labels in new gem template [#5089](https://github.com/rubygems/rubygems/pull/5089)
|
|
14
|
+
- Add an initial rbs template to `bundle gem` skeleton [#5041](https://github.com/rubygems/rubygems/pull/5041)
|
|
15
|
+
- Avoid shared libraries not getting environment passed right after argv in memory when `bundle exec` is used [#4815](https://github.com/rubygems/rubygems/pull/4815)
|
|
16
|
+
|
|
17
|
+
## Bug fixes:
|
|
18
|
+
|
|
19
|
+
- Don't cleanup paths from gems already activated from `$LOAD_PATH` [#5111](https://github.com/rubygems/rubygems/pull/5111)
|
|
20
|
+
- Fix handling prereleases of 0 versions, like 0.0.0.dev or 0.0.0.SNAPSHOT [#5116](https://github.com/rubygems/rubygems/pull/5116)
|
|
21
|
+
- Fix escape of filenames in `bundle doctor` [#5102](https://github.com/rubygems/rubygems/pull/5102)
|
|
22
|
+
- Don't unlock dependencies when running `bundle install` after changing global source [#5090](https://github.com/rubygems/rubygems/pull/5090)
|
|
23
|
+
- Fix missing locked specs when depended on another platform [#5092](https://github.com/rubygems/rubygems/pull/5092)
|
|
24
|
+
- Fix `bundle info` sometimes claiming that bundler has been deleted [#5097](https://github.com/rubygems/rubygems/pull/5097)
|
|
25
|
+
|
|
26
|
+
## Documentation:
|
|
27
|
+
|
|
28
|
+
- Ignore to generate the documentation from vendored libraries [#5118](https://github.com/rubygems/rubygems/pull/5118)
|
|
29
|
+
|
|
1
30
|
# 2.2.32 (November 23, 2021)
|
|
2
31
|
|
|
3
32
|
## 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 = "
|
|
8
|
-
@git_commit_sha = "
|
|
7
|
+
@built_at = "2023-02-06".freeze
|
|
8
|
+
@git_commit_sha = "78d3be232c".freeze
|
|
9
9
|
@release = true
|
|
10
10
|
# end ivars
|
|
11
11
|
|
data/lib/bundler/cli/doctor.rb
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "rbconfig"
|
|
4
|
+
require "shellwords"
|
|
4
5
|
|
|
5
6
|
module Bundler
|
|
6
7
|
class CLI::Doctor
|
|
@@ -22,14 +23,14 @@ module Bundler
|
|
|
22
23
|
end
|
|
23
24
|
|
|
24
25
|
def dylibs_darwin(path)
|
|
25
|
-
output = `/usr/bin/otool -L
|
|
26
|
+
output = `/usr/bin/otool -L #{path.shellescape}`.chomp
|
|
26
27
|
dylibs = output.split("\n")[1..-1].map {|l| l.match(DARWIN_REGEX).captures[0] }.uniq
|
|
27
28
|
# ignore @rpath and friends
|
|
28
29
|
dylibs.reject {|dylib| dylib.start_with? "@" }
|
|
29
30
|
end
|
|
30
31
|
|
|
31
32
|
def dylibs_ldd(path)
|
|
32
|
-
output = `/usr/bin/ldd
|
|
33
|
+
output = `/usr/bin/ldd #{path.shellescape}`.chomp
|
|
33
34
|
output.split("\n").map do |l|
|
|
34
35
|
match = l.match(LDD_REGEX)
|
|
35
36
|
next if match.nil?
|
data/lib/bundler/cli/gem.rb
CHANGED
|
@@ -76,6 +76,7 @@ module Bundler
|
|
|
76
76
|
"#{Bundler.preferred_gemfile_name}.tt" => Bundler.preferred_gemfile_name,
|
|
77
77
|
"lib/newgem.rb.tt" => "lib/#{namespaced_path}.rb",
|
|
78
78
|
"lib/newgem/version.rb.tt" => "lib/#{namespaced_path}/version.rb",
|
|
79
|
+
"sig/newgem.rbs.tt" => "sig/#{namespaced_path}.rbs",
|
|
79
80
|
"newgem.gemspec.tt" => "#{name}.gemspec",
|
|
80
81
|
"Rakefile.tt" => "Rakefile",
|
|
81
82
|
"README.md.tt" => "README.md",
|
data/lib/bundler/cli/info.rb
CHANGED
|
@@ -18,6 +18,7 @@ module Bundler
|
|
|
18
18
|
|
|
19
19
|
if spec
|
|
20
20
|
return print_gem_path(spec) if @options[:path]
|
|
21
|
+
return print_gem_version(spec) if @options[:version]
|
|
21
22
|
print_gem_info(spec)
|
|
22
23
|
end
|
|
23
24
|
end
|
|
@@ -39,6 +40,10 @@ module Bundler
|
|
|
39
40
|
raise GemNotFound, Bundler::CLI::Common.gem_not_found_message(gem_name, Bundler.definition.dependencies)
|
|
40
41
|
end
|
|
41
42
|
|
|
43
|
+
def print_gem_version(spec)
|
|
44
|
+
Bundler.ui.info spec.version.to_s
|
|
45
|
+
end
|
|
46
|
+
|
|
42
47
|
def print_gem_path(spec)
|
|
43
48
|
name = spec.name
|
|
44
49
|
if name == "bundler"
|
|
@@ -70,7 +75,7 @@ module Bundler
|
|
|
70
75
|
gem_info << "\tPath: #{spec.full_gem_path}\n"
|
|
71
76
|
gem_info << "\tDefault Gem: yes" if spec.respond_to?(:default_gem?) && spec.default_gem?
|
|
72
77
|
|
|
73
|
-
if spec.deleted_gem?
|
|
78
|
+
if name != "bundler" && spec.deleted_gem?
|
|
74
79
|
return Bundler.ui.warn "The gem #{name} has been deleted. Gemspec information is still available though:\n#{gem_info}"
|
|
75
80
|
end
|
|
76
81
|
|
data/lib/bundler/cli/update.rb
CHANGED
|
@@ -66,7 +66,7 @@ module Bundler
|
|
|
66
66
|
|
|
67
67
|
if locked_gems = Bundler.definition.locked_gems
|
|
68
68
|
previous_locked_info = locked_gems.specs.reduce({}) do |h, s|
|
|
69
|
-
h[s.name] = { :spec => s, :version => s.version, :source => s.source.
|
|
69
|
+
h[s.name] = { :spec => s, :version => s.version, :source => s.source.identifier }
|
|
70
70
|
h
|
|
71
71
|
end
|
|
72
72
|
end
|
|
@@ -95,7 +95,7 @@ module Bundler
|
|
|
95
95
|
end
|
|
96
96
|
|
|
97
97
|
locked_source = locked_info[:source]
|
|
98
|
-
new_source = new_spec.source.
|
|
98
|
+
new_source = new_spec.source.identifier
|
|
99
99
|
next if locked_source != new_source
|
|
100
100
|
|
|
101
101
|
new_version = new_spec.version
|
data/lib/bundler/cli.rb
CHANGED
|
@@ -331,6 +331,7 @@ module Bundler
|
|
|
331
331
|
|
|
332
332
|
desc "info GEM [OPTIONS]", "Show information for the given gem"
|
|
333
333
|
method_option "path", :type => :boolean, :banner => "Print full path to gem"
|
|
334
|
+
method_option "version", :type => :boolean, :banner => "Print gem version"
|
|
334
335
|
def info(gem_name)
|
|
335
336
|
require_relative "cli/info"
|
|
336
337
|
Info.new(options, gem_name).run
|
|
@@ -76,11 +76,6 @@ module Bundler
|
|
|
76
76
|
|
|
77
77
|
update(local_path, remote_path, :retrying)
|
|
78
78
|
end
|
|
79
|
-
rescue Errno::EACCES
|
|
80
|
-
raise Bundler::PermissionError,
|
|
81
|
-
"Bundler does not have write access to create a temp directory " \
|
|
82
|
-
"within #{Dir.tmpdir}. Bundler must have write access to your " \
|
|
83
|
-
"systems temp directory to function properly. "
|
|
84
79
|
rescue Zlib::GzipFile::Error
|
|
85
80
|
raise Bundler::HTTPError
|
|
86
81
|
end
|
data/lib/bundler/definition.rb
CHANGED
|
@@ -158,10 +158,6 @@ module Bundler
|
|
|
158
158
|
end
|
|
159
159
|
end
|
|
160
160
|
|
|
161
|
-
def multisource_allowed?
|
|
162
|
-
@multisource_allowed
|
|
163
|
-
end
|
|
164
|
-
|
|
165
161
|
def resolve_only_locally!
|
|
166
162
|
@remote = false
|
|
167
163
|
sources.local_only!
|
|
@@ -368,44 +364,26 @@ module Bundler
|
|
|
368
364
|
added.concat new_platforms.map {|p| "* platform: #{p}" }
|
|
369
365
|
deleted.concat deleted_platforms.map {|p| "* platform: #{p}" }
|
|
370
366
|
|
|
371
|
-
gemfile_sources = sources.lock_sources
|
|
372
|
-
|
|
373
|
-
new_sources = gemfile_sources - @locked_sources
|
|
374
|
-
deleted_sources = @locked_sources - gemfile_sources
|
|
375
|
-
|
|
376
367
|
new_deps = @dependencies - locked_dependencies
|
|
377
368
|
deleted_deps = locked_dependencies - @dependencies
|
|
378
369
|
|
|
379
|
-
# Check if it is possible that the source is only changed thing
|
|
380
|
-
if (new_deps.empty? && deleted_deps.empty?) && (!new_sources.empty? && !deleted_sources.empty?)
|
|
381
|
-
new_sources.reject! {|source| (source.path? && source.path.exist?) || equivalent_rubygems_remotes?(source) }
|
|
382
|
-
deleted_sources.reject! {|source| (source.path? && source.path.exist?) || equivalent_rubygems_remotes?(source) }
|
|
383
|
-
end
|
|
384
|
-
|
|
385
|
-
if @locked_sources != gemfile_sources
|
|
386
|
-
if new_sources.any?
|
|
387
|
-
added.concat new_sources.map {|source| "* source: #{source}" }
|
|
388
|
-
end
|
|
389
|
-
|
|
390
|
-
if deleted_sources.any?
|
|
391
|
-
deleted.concat deleted_sources.map {|source| "* source: #{source}" }
|
|
392
|
-
end
|
|
393
|
-
end
|
|
394
|
-
|
|
395
370
|
added.concat new_deps.map {|d| "* #{pretty_dep(d)}" } if new_deps.any?
|
|
396
|
-
if deleted_deps.any?
|
|
397
|
-
deleted.concat deleted_deps.map {|d| "* #{pretty_dep(d)}" }
|
|
398
|
-
end
|
|
371
|
+
deleted.concat deleted_deps.map {|d| "* #{pretty_dep(d)}" } if deleted_deps.any?
|
|
399
372
|
|
|
400
373
|
both_sources = Hash.new {|h, k| h[k] = [] }
|
|
401
374
|
@dependencies.each {|d| both_sources[d.name][0] = d }
|
|
402
|
-
|
|
375
|
+
locked_dependencies.each {|d| both_sources[d.name][1] = d }
|
|
403
376
|
|
|
404
|
-
both_sources.each do |name, (dep,
|
|
405
|
-
next if
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
377
|
+
both_sources.each do |name, (dep, lock_dep)|
|
|
378
|
+
next if dep.nil? || lock_dep.nil?
|
|
379
|
+
|
|
380
|
+
gemfile_source = dep.source || sources.default_source
|
|
381
|
+
lock_source = lock_dep.source || sources.default_source
|
|
382
|
+
next if lock_source.include?(gemfile_source)
|
|
383
|
+
|
|
384
|
+
gemfile_source_name = dep.source ? gemfile_source.identifier : "no specified source"
|
|
385
|
+
lockfile_source_name = lock_dep.source ? lock_source.identifier : "no specified source"
|
|
386
|
+
changed << "* #{name} from `#{lockfile_source_name}` to `#{gemfile_source_name}`"
|
|
409
387
|
end
|
|
410
388
|
|
|
411
389
|
reason = change_reason
|
|
@@ -649,15 +627,13 @@ module Bundler
|
|
|
649
627
|
end
|
|
650
628
|
|
|
651
629
|
def converge_dependencies
|
|
652
|
-
|
|
630
|
+
changes = false
|
|
631
|
+
|
|
632
|
+
@dependencies.each do |dep|
|
|
653
633
|
if dep.source
|
|
654
634
|
dep.source = sources.get(dep.source)
|
|
655
635
|
end
|
|
656
|
-
end
|
|
657
636
|
|
|
658
|
-
changes = false
|
|
659
|
-
|
|
660
|
-
@dependencies.each do |dep|
|
|
661
637
|
unless locked_dep = @locked_deps[dep.name]
|
|
662
638
|
changes = true
|
|
663
639
|
next
|
|
@@ -711,11 +687,8 @@ module Bundler
|
|
|
711
687
|
deps << dep
|
|
712
688
|
end
|
|
713
689
|
|
|
714
|
-
s.source = (dep && dep.source) || sources.get(s.source) unless
|
|
690
|
+
s.source = (dep && dep.source) || sources.get(s.source) || sources.default_source unless Bundler.frozen_bundle?
|
|
715
691
|
|
|
716
|
-
# Don't add a spec to the list if its source is expired. For example,
|
|
717
|
-
# if you change a Git gem to RubyGems.
|
|
718
|
-
next if s.source.nil?
|
|
719
692
|
next if @unlock[:sources].include?(s.source.name)
|
|
720
693
|
|
|
721
694
|
# If the spec is from a path source and it doesn't exist anymore
|
|
@@ -744,7 +717,7 @@ module Bundler
|
|
|
744
717
|
s.dependencies.replace(new_spec.dependencies)
|
|
745
718
|
end
|
|
746
719
|
|
|
747
|
-
if dep.nil? &&
|
|
720
|
+
if dep.nil? && requested_dependencies.find {|d| s.name == d.name }
|
|
748
721
|
@unlock[:gems] << s.name
|
|
749
722
|
else
|
|
750
723
|
converged << s
|
|
@@ -852,12 +825,6 @@ module Bundler
|
|
|
852
825
|
end
|
|
853
826
|
end
|
|
854
827
|
|
|
855
|
-
def equivalent_rubygems_remotes?(source)
|
|
856
|
-
return false unless source.is_a?(Source::Rubygems)
|
|
857
|
-
|
|
858
|
-
Bundler.settings[:allow_deployment_source_credential_changes] && source.equivalent_remotes?(sources.rubygems_remotes)
|
|
859
|
-
end
|
|
860
|
-
|
|
861
828
|
def source_map
|
|
862
829
|
@source_map ||= SourceMap.new(sources, dependencies)
|
|
863
830
|
end
|
data/lib/bundler/dsl.rb
CHANGED
|
@@ -18,6 +18,8 @@ module Bundler
|
|
|
18
18
|
VALID_KEYS = %w[group groups git path glob name branch ref tag require submodules
|
|
19
19
|
platform platforms type source install_if gemfile].freeze
|
|
20
20
|
|
|
21
|
+
GITHUB_PULL_REQUEST_URL = %r{\Ahttps://github\.com/([A-Za-z0-9_\-\.]+/[A-Za-z0-9_\-\.]+)/pull/(\d+)\z}.freeze
|
|
22
|
+
|
|
21
23
|
attr_reader :gemspecs
|
|
22
24
|
attr_accessor :dependencies
|
|
23
25
|
|
|
@@ -278,8 +280,17 @@ module Bundler
|
|
|
278
280
|
warn_deprecated_git_source(:github, <<-'RUBY'.strip, 'Change any "reponame" :github sources to "username/reponame".')
|
|
279
281
|
"https://github.com/#{repo_name}.git"
|
|
280
282
|
RUBY
|
|
281
|
-
|
|
282
|
-
|
|
283
|
+
if repo_name =~ GITHUB_PULL_REQUEST_URL
|
|
284
|
+
{
|
|
285
|
+
"git" => "https://github.com/#{$1}.git",
|
|
286
|
+
"branch" => "refs/pull/#{$2}/head",
|
|
287
|
+
"ref" => nil,
|
|
288
|
+
"tag" => nil,
|
|
289
|
+
}
|
|
290
|
+
else
|
|
291
|
+
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
|
|
292
|
+
"https://github.com/#{repo_name}.git"
|
|
293
|
+
end
|
|
283
294
|
end
|
|
284
295
|
|
|
285
296
|
git_source(:gist) do |repo_name|
|
|
@@ -365,7 +376,11 @@ repo_name ||= user_name
|
|
|
365
376
|
|
|
366
377
|
git_name = (git_names & opts.keys).last
|
|
367
378
|
if @git_sources[git_name]
|
|
368
|
-
|
|
379
|
+
git_opts = @git_sources[git_name].call(opts[git_name])
|
|
380
|
+
git_opts = { "git" => git_opts } if git_opts.is_a?(String)
|
|
381
|
+
opts.merge!(git_opts) do |key, _gemfile_value, _git_source_value|
|
|
382
|
+
raise GemfileError, %(The :#{key} option can't be used with `#{git_name}: #{opts[git_name].inspect}`)
|
|
383
|
+
end
|
|
369
384
|
end
|
|
370
385
|
|
|
371
386
|
%w[git path].each do |type|
|
|
@@ -38,7 +38,10 @@ module Bundler
|
|
|
38
38
|
|
|
39
39
|
# Replaces `ENV` with the bundler environment variables backed up
|
|
40
40
|
def replace_with_backup
|
|
41
|
-
|
|
41
|
+
unless Gem.win_platform?
|
|
42
|
+
ENV.replace(backup)
|
|
43
|
+
return
|
|
44
|
+
end
|
|
42
45
|
|
|
43
46
|
# Fallback logic for Windows below to workaround
|
|
44
47
|
# https://bugs.ruby-lang.org/issues/16798. Can be dropped once all
|
|
@@ -38,8 +38,24 @@ module Bundler
|
|
|
38
38
|
identifier.hash
|
|
39
39
|
end
|
|
40
40
|
|
|
41
|
+
##
|
|
42
|
+
# Does this locked specification satisfy +dependency+?
|
|
43
|
+
#
|
|
44
|
+
# NOTE: Rubygems default requirement is ">= 0", which doesn't match
|
|
45
|
+
# prereleases of 0 versions, like "0.0.0.dev" or "0.0.0.SNAPSHOT". However,
|
|
46
|
+
# bundler users expect those to work. We need to make sure that Gemfile
|
|
47
|
+
# dependencies without explicit requirements (which use ">= 0" under the
|
|
48
|
+
# hood by default) are still valid for locked specs using this kind of
|
|
49
|
+
# versions. The method implements an ad-hoc fix for that. A better solution
|
|
50
|
+
# might be to change default rubygems requirement of dependencies to be ">=
|
|
51
|
+
# 0.A" but that's a major refactoring likely to break things. Hopefully we
|
|
52
|
+
# can attempt it in the future.
|
|
53
|
+
#
|
|
54
|
+
|
|
41
55
|
def satisfies?(dependency)
|
|
42
|
-
|
|
56
|
+
effective_requirement = dependency.requirement == Gem::Requirement.default ? Gem::Requirement.new(">= 0.A") : dependency.requirement
|
|
57
|
+
|
|
58
|
+
@name == dependency.name && effective_requirement.satisfied_by?(Gem::Version.new(@version))
|
|
43
59
|
end
|
|
44
60
|
|
|
45
61
|
def to_lock
|
|
@@ -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" "December 2021" "" ""
|
|
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" "December 2021" "" ""
|
|
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" "December 2021" "" ""
|
|
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" "December 2021" "" ""
|
|
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\-GEM" "1" "
|
|
4
|
+
.TH "BUNDLE\-GEM" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
|
|
@@ -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" "December 2021" "" ""
|
|
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" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-init\fR \- Generates a Gemfile into the current working directory
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-INJECT" "1" "
|
|
4
|
+
.TH "BUNDLE\-INJECT" "1" "December 2021" "" ""
|
|
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" "December 2021" "" ""
|
|
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\-LOCK" "1" "
|
|
4
|
+
.TH "BUNDLE\-LOCK" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-lock\fR \- Creates / Updates a lockfile without installing
|
|
@@ -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" "December 2021" "" ""
|
|
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" "December 2021" "" ""
|
|
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" "December 2021" "" ""
|
|
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" "December 2021" "" ""
|
|
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" "December 2021" "" ""
|
|
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" "December 2021" "" ""
|
|
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" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile
|