rubygems-update 3.2.7 → 3.2.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +43 -0
- data/Manifest.txt +3 -0
- data/Rakefile +15 -13
- data/bundler/CHANGELOG.md +53 -0
- data/bundler/lib/bundler.rb +1 -1
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli.rb +1 -0
- data/bundler/lib/bundler/cli/gem.rb +12 -0
- data/bundler/lib/bundler/definition.rb +15 -25
- data/bundler/lib/bundler/index.rb +6 -5
- data/bundler/lib/bundler/installer.rb +2 -0
- data/bundler/lib/bundler/installer/standalone.rb +2 -1
- data/bundler/lib/bundler/lazy_specification.rb +8 -17
- data/bundler/lib/bundler/man/bundle-config.1 +4 -4
- data/bundler/lib/bundler/man/bundle-config.1.ronn +8 -7
- data/bundler/lib/bundler/resolver.rb +48 -29
- data/bundler/lib/bundler/resolver/spec_group.rb +53 -38
- data/bundler/lib/bundler/rubygems_gem_installer.rb +47 -0
- data/bundler/lib/bundler/shared_helpers.rb +2 -2
- data/bundler/lib/bundler/source_list.rb +2 -4
- data/bundler/lib/bundler/spec_set.rb +4 -3
- data/bundler/lib/bundler/stub_specification.rb +8 -0
- data/bundler/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +11 -5
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor.rb +5 -6
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +4 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/error.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +5 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +9 -8
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +5 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb +5 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/bundler/lib/bundler/version.rb +1 -1
- data/lib/rubygems.rb +2 -2
- data/lib/rubygems/command.rb +1 -0
- data/lib/rubygems/config_file.rb +9 -0
- data/lib/rubygems/core_ext/tcpsocket_init.rb +49 -0
- data/lib/rubygems/dependency.rb +5 -1
- data/lib/rubygems/remote_fetcher.rb +1 -0
- data/lib/rubygems/resolver/index_specification.rb +4 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +7 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +0 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +10 -4
- data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +1 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +11 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +11 -7
- data/lib/rubygems/specification.rb +13 -11
- data/lib/rubygems/test_case.rb +5 -6
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/data/null-required-ruby-version.gemspec.rz +0 -0
- data/test/rubygems/test_gem.rb +78 -0
- data/test/rubygems/test_gem_commands_outdated_command.rb +18 -0
- data/test/rubygems/test_gem_config_file.rb +10 -0
- data/test/rubygems/test_gem_dependency_installer.rb +27 -18
- data/test/rubygems/test_gem_remote_fetcher.rb +6 -0
- data/test/rubygems/test_gem_requirement.rb +1 -1
- data/test/rubygems/test_gem_specification.rb +10 -15
- data/test/rubygems/test_gem_util.rb +4 -4
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1f42e41887b87a2787222de88454c6fe46c91e52133145d44d6d1af5506252d
|
4
|
+
data.tar.gz: 6f30bb45a6ae5452b4899df880bafb667ffa19e1190035edb0311e84037944f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6131db8f14cd1ae89b011d14c4074fc1ee6b5ba9173aa023a1fb20baf5860a1dccec7916cc5650e02109d4c449b5300e01b4e15cd0cfa7572432025dc360cfc1
|
7
|
+
data.tar.gz: dd677ed5e9bc15e982ce9ce77793a25a638350568bcc4061f581a7d72a9ea95c982f1a89543c482bfaf6e701f6616541b60319eb4ba9ae6c5f551396ab760db6
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,46 @@
|
|
1
|
+
# 3.2.12 / 2021-03-01
|
2
|
+
|
3
|
+
## Bug fixes:
|
4
|
+
|
5
|
+
* Restore the ability to manually install extension gems. Pull request
|
6
|
+
#4384 by cfis
|
7
|
+
|
8
|
+
# 3.2.11 / 2021-02-17
|
9
|
+
|
10
|
+
## Enhancements:
|
11
|
+
|
12
|
+
* Optionally fallback to IPv4 when IPv6 is unreachable. Pull request #2662
|
13
|
+
by sonalkr132
|
14
|
+
|
15
|
+
# 3.2.10 / 2021-02-15
|
16
|
+
|
17
|
+
## Documentation:
|
18
|
+
|
19
|
+
* Add a `gem push` example to `gem help`. Pull request #4373 by
|
20
|
+
deivid-rodriguez
|
21
|
+
* Improve documentation for `required_ruby_version`. Pull request #4343 by
|
22
|
+
AlexWayfer
|
23
|
+
|
24
|
+
# 3.2.9 / 2021-02-08
|
25
|
+
|
26
|
+
## Bug fixes:
|
27
|
+
|
28
|
+
* Fix error message when underscore selection can't find bundler. Pull
|
29
|
+
request #4363 by deivid-rodriguez
|
30
|
+
* Fix `Gem::Specification.stubs_for` returning wrong named specs. Pull
|
31
|
+
request #4356 by tompng
|
32
|
+
* Don't error out when activating a binstub unless necessary. Pull request
|
33
|
+
#4351 by deivid-rodriguez
|
34
|
+
* Fix `gem outdated` incorrectly handling platform specific gems. Pull
|
35
|
+
request #4248 by deivid-rodriguez
|
36
|
+
|
37
|
+
# 3.2.8 / 2021-02-02
|
38
|
+
|
39
|
+
## Bug fixes:
|
40
|
+
|
41
|
+
* Fix `gem install` crashing on gemspec with nil required_ruby_version.
|
42
|
+
Pull request #4334 by pbernays
|
43
|
+
|
1
44
|
# 3.2.7 / 2021-01-26
|
2
45
|
|
3
46
|
## Bug fixes:
|
data/Manifest.txt
CHANGED
@@ -189,6 +189,7 @@ bundler/lib/bundler/templates/Executable.bundler
|
|
189
189
|
bundler/lib/bundler/templates/Executable.standalone
|
190
190
|
bundler/lib/bundler/templates/Gemfile
|
191
191
|
bundler/lib/bundler/templates/gems.rb
|
192
|
+
bundler/lib/bundler/templates/newgem/CHANGELOG.md.tt
|
192
193
|
bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt
|
193
194
|
bundler/lib/bundler/templates/newgem/Gemfile.tt
|
194
195
|
bundler/lib/bundler/templates/newgem/LICENSE.txt.tt
|
@@ -353,6 +354,7 @@ lib/rubygems/config_file.rb
|
|
353
354
|
lib/rubygems/core_ext/kernel_gem.rb
|
354
355
|
lib/rubygems/core_ext/kernel_require.rb
|
355
356
|
lib/rubygems/core_ext/kernel_warn.rb
|
357
|
+
lib/rubygems/core_ext/tcpsocket_init.rb
|
356
358
|
lib/rubygems/defaults.rb
|
357
359
|
lib/rubygems/dependency.rb
|
358
360
|
lib/rubygems/dependency_installer.rb
|
@@ -511,6 +513,7 @@ test/rubygems/child_key.pem
|
|
511
513
|
test/rubygems/client.pem
|
512
514
|
test/rubygems/data/gem-private_key.pem
|
513
515
|
test/rubygems/data/gem-public_cert.pem
|
516
|
+
test/rubygems/data/null-required-ruby-version.gemspec.rz
|
514
517
|
test/rubygems/data/null-required-rubygems-version.gemspec.rz
|
515
518
|
test/rubygems/data/null-type.gemspec.rz
|
516
519
|
test/rubygems/encrypted_private_key.pem
|
data/Rakefile
CHANGED
@@ -15,6 +15,12 @@ task :update do |_, args|
|
|
15
15
|
sh "ruby", "bundler/bin/bundle", "update", *args, "--gemfile=dev_gems.rb"
|
16
16
|
end
|
17
17
|
|
18
|
+
desc "Update the locked bundler version in dev environment"
|
19
|
+
task :update_locked_bundler do |_, args|
|
20
|
+
sh "ruby", "bundler/bin/bundle", "update", "--bundler", "--gemfile=dev_gems.rb"
|
21
|
+
sh "ruby", "bundler/bin/bundle", "update", "--bundler", "--gemfile=bundler/test_gems.rb"
|
22
|
+
end
|
23
|
+
|
18
24
|
desc "Setup git hooks"
|
19
25
|
task :git_hooks do
|
20
26
|
sh "git config core.hooksPath .githooks"
|
@@ -52,20 +58,16 @@ RDoc::Task.new :rdoc => 'docs', :clobber_rdoc => 'clobber_docs' do |doc|
|
|
52
58
|
doc.rdoc_dir = 'doc'
|
53
59
|
end
|
54
60
|
|
55
|
-
|
56
|
-
require "automatiek"
|
61
|
+
load "util/automatiek.rake"
|
57
62
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
namespace :vendor do
|
67
|
-
task(:molinillo) { abort "Install the automatiek gem to be able to vendor gems." }
|
68
|
-
end
|
63
|
+
# We currently ship Molinillo master branch as of
|
64
|
+
# https://github.com/CocoaPods/Molinillo/commit/7cc27a355e861bdf593e2cde7bf1bca3daae4303
|
65
|
+
Automatiek::RakeTask.new("molinillo") do |lib|
|
66
|
+
lib.version = "master"
|
67
|
+
lib.download = { :github => "https://github.com/CocoaPods/Molinillo" }
|
68
|
+
lib.namespace = "Molinillo"
|
69
|
+
lib.prefix = "Gem::Resolver"
|
70
|
+
lib.vendor_lib = "lib/rubygems/resolver/molinillo"
|
69
71
|
end
|
70
72
|
|
71
73
|
namespace :rubocop do
|
data/bundler/CHANGELOG.md
CHANGED
@@ -1,3 +1,56 @@
|
|
1
|
+
# 2.2.12 (March 1, 2021)
|
2
|
+
|
3
|
+
## Bug fixes:
|
4
|
+
|
5
|
+
- Fix sporadic warnings about `nil` gemspec on install/update and make those faster [#4409](https://github.com/rubygems/rubygems/pull/4409)
|
6
|
+
- Fix deployment install with duplicate path gems added to Gemfile [#4410](https://github.com/rubygems/rubygems/pull/4410)
|
7
|
+
|
8
|
+
# 2.2.11 (February 17, 2021)
|
9
|
+
|
10
|
+
## Bug fixes:
|
11
|
+
|
12
|
+
- Revert disable_multisource changes [#4385](https://github.com/rubygems/rubygems/pull/4385)
|
13
|
+
|
14
|
+
# 2.2.10 (February 15, 2021)
|
15
|
+
|
16
|
+
## Security fixes:
|
17
|
+
|
18
|
+
- Fix source priority for transitive dependencies and split lockfile rubygems source sections [#3655](https://github.com/rubygems/rubygems/pull/3655)
|
19
|
+
|
20
|
+
## Bug fixes:
|
21
|
+
|
22
|
+
- Fix adding platforms to lockfile sometimes conflicting on ruby requirements [#4371](https://github.com/rubygems/rubygems/pull/4371)
|
23
|
+
- Fix bundler sometimes choosing ruby variants over java ones [#4367](https://github.com/rubygems/rubygems/pull/4367)
|
24
|
+
|
25
|
+
## Documentation:
|
26
|
+
|
27
|
+
- Update man pages to reflect to new default for bundle install jobs [#4188](https://github.com/rubygems/rubygems/pull/4188)
|
28
|
+
|
29
|
+
# 2.2.9 (February 8, 2021)
|
30
|
+
|
31
|
+
## Enhancements:
|
32
|
+
|
33
|
+
- Stop removing existing platforms when force_ruby_platform is true [#4336](https://github.com/rubygems/rubygems/pull/4336)
|
34
|
+
|
35
|
+
## Bug fixes:
|
36
|
+
|
37
|
+
- Don't install platform specific gems on truffleruby [#4333](https://github.com/rubygems/rubygems/pull/4333)
|
38
|
+
|
39
|
+
# 2.2.8 (February 2, 2021)
|
40
|
+
|
41
|
+
## Enhancements:
|
42
|
+
|
43
|
+
- Add a CHANGELOG.md file to gems generated by `bundle gem` [#4093](https://github.com/rubygems/rubygems/pull/4093)
|
44
|
+
- Support gemified `set` [#4297](https://github.com/rubygems/rubygems/pull/4297)
|
45
|
+
|
46
|
+
## Bug fixes:
|
47
|
+
|
48
|
+
- Fix standalone Kernel.require visibility [#4337](https://github.com/rubygems/rubygems/pull/4337)
|
49
|
+
|
50
|
+
## Performance:
|
51
|
+
|
52
|
+
- Fix resolver edge cases and speed up bundler [#4277](https://github.com/rubygems/rubygems/pull/4277)
|
53
|
+
|
1
54
|
# 2.2.7 (January 26, 2021)
|
2
55
|
|
3
56
|
## Enhancements:
|
data/bundler/lib/bundler.rb
CHANGED
@@ -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 = "2021-01
|
8
|
-
@git_commit_sha = "
|
7
|
+
@built_at = "2021-03-01".freeze
|
8
|
+
@git_commit_sha = "1de3f8de73".freeze
|
9
9
|
@release = true
|
10
10
|
# end ivars
|
11
11
|
|
data/bundler/lib/bundler/cli.rb
CHANGED
@@ -586,6 +586,7 @@ module Bundler
|
|
586
586
|
method_option :git, :type => :boolean, :default => true, :desc => "Initialize a git repo inside your library."
|
587
587
|
method_option :mit, :type => :boolean, :desc => "Generate an MIT license file. Set a default with `bundle config set --global gem.mit true`."
|
588
588
|
method_option :rubocop, :type => :boolean, :desc => "Add rubocop to the generated Rakefile and gemspec. Set a default with `bundle config set --global gem.rubocop true`."
|
589
|
+
method_option :changelog, :type => :boolean, :desc => "Generate changelog file. Set a default with `bundle config set --global gem.changelog true`."
|
589
590
|
method_option :test, :type => :string, :lazy_default => Bundler.settings["gem.test"] || "", :aliases => "-t", :banner => "Use the specified test framework for your library",
|
590
591
|
:desc => "Generate a test directory for your library, either rspec, minitest or test-unit. Set a default with `bundle config set --global gem.test (rspec|minitest|test-unit)`."
|
591
592
|
method_option :ci, :type => :string, :lazy_default => Bundler.settings["gem.ci"] || "",
|
@@ -142,6 +142,18 @@ module Bundler
|
|
142
142
|
templates.merge!("CODE_OF_CONDUCT.md.tt" => "CODE_OF_CONDUCT.md")
|
143
143
|
end
|
144
144
|
|
145
|
+
if ask_and_set(:changelog, "Do you want to include a changelog?",
|
146
|
+
"A changelog is a file which contains a curated, chronologically ordered list of notable " \
|
147
|
+
"changes for each version of a project. To make it easier for users and contributors to" \
|
148
|
+
" see precisely what notable changes have been made between each release (or version) of" \
|
149
|
+
" the project. Whether consumers or developers, the end users of software are" \
|
150
|
+
" human beings who care about what's in the software. When the software changes, people " \
|
151
|
+
"want to know why and how. see https://keepachangelog.com")
|
152
|
+
config[:changelog] = true
|
153
|
+
Bundler.ui.info "Changelog enabled in config"
|
154
|
+
templates.merge!("CHANGELOG.md.tt" => "CHANGELOG.md")
|
155
|
+
end
|
156
|
+
|
145
157
|
if ask_and_set(:rubocop, "Do you want to add rubocop as a dependency for gems you generate?",
|
146
158
|
"RuboCop is a static code analyzer that has out-of-the-box rules for many " \
|
147
159
|
"of the guidelines in the community style guide. " \
|
@@ -1,7 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative "lockfile_parser"
|
4
|
-
require "set"
|
5
4
|
|
6
5
|
module Bundler
|
7
6
|
class Definition
|
@@ -83,11 +82,7 @@ module Bundler
|
|
83
82
|
@lockfile_contents = Bundler.read_file(lockfile)
|
84
83
|
@locked_gems = LockfileParser.new(@lockfile_contents)
|
85
84
|
@locked_platforms = @locked_gems.platforms
|
86
|
-
|
87
|
-
@platforms = [Gem::Platform::RUBY]
|
88
|
-
else
|
89
|
-
@platforms = @locked_platforms.dup
|
90
|
-
end
|
85
|
+
@platforms = @locked_platforms.dup
|
91
86
|
@locked_bundler_version = @locked_gems.bundler_version
|
92
87
|
@locked_ruby_version = @locked_gems.ruby_version
|
93
88
|
|
@@ -259,23 +254,18 @@ module Bundler
|
|
259
254
|
def resolve
|
260
255
|
@resolve ||= begin
|
261
256
|
last_resolve = converge_locked_specs
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
end
|
275
|
-
|
276
|
-
# filter out gems that _can_ be installed on multiple platforms, but don't need
|
277
|
-
# to be
|
278
|
-
resolve.for(expand_dependencies(dependencies, true), [], false, false, false)
|
257
|
+
if Bundler.frozen_bundle?
|
258
|
+
Bundler.ui.debug "Frozen, using resolution from the lockfile"
|
259
|
+
last_resolve
|
260
|
+
elsif !unlocking? && nothing_changed?
|
261
|
+
Bundler.ui.debug("Found no changes, using resolution from the lockfile")
|
262
|
+
last_resolve
|
263
|
+
else
|
264
|
+
# Run a resolve against the locally available gems
|
265
|
+
Bundler.ui.debug("Found changes from the lockfile, re-resolving dependencies because #{change_reason}")
|
266
|
+
expanded_dependencies = expand_dependencies(dependencies + metadata_dependencies, @remote)
|
267
|
+
Resolver.resolve(expanded_dependencies, index, source_requirements, last_resolve, gem_version_promoter, additional_base_requirements_for_resolve, platforms)
|
268
|
+
end
|
279
269
|
end
|
280
270
|
end
|
281
271
|
|
@@ -604,7 +594,7 @@ module Bundler
|
|
604
594
|
deps_for_source = @dependencies.select {|s| s.source == source }
|
605
595
|
locked_deps_for_source = @locked_deps.values.select {|dep| dep.source == locked_source }
|
606
596
|
|
607
|
-
|
597
|
+
deps_for_source.uniq.sort != locked_deps_for_source.sort
|
608
598
|
end
|
609
599
|
|
610
600
|
def specs_for_source_changed?(source)
|
@@ -884,7 +874,7 @@ module Bundler
|
|
884
874
|
dependencies.each do |dep|
|
885
875
|
dep = Dependency.new(dep, ">= 0") unless dep.respond_to?(:name)
|
886
876
|
next unless remote || dep.current_platform?
|
887
|
-
target_platforms = dep.gem_platforms(remote ?
|
877
|
+
target_platforms = dep.gem_platforms(remote ? @platforms : [generic_local_platform])
|
888
878
|
deps += expand_dependency_with_platforms(dep, target_platforms)
|
889
879
|
end
|
890
880
|
deps
|
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "set"
|
4
|
-
|
5
3
|
module Bundler
|
6
4
|
class Index
|
7
5
|
include Enumerable
|
@@ -65,11 +63,14 @@ module Bundler
|
|
65
63
|
def unsorted_search(query, base)
|
66
64
|
results = local_search(query, base)
|
67
65
|
|
68
|
-
seen = results.map(&:full_name).
|
66
|
+
seen = results.map(&:full_name).uniq unless @sources.empty?
|
69
67
|
|
70
68
|
@sources.each do |source|
|
71
69
|
source.unsorted_search(query, base).each do |spec|
|
72
|
-
|
70
|
+
next if seen.include?(spec.full_name)
|
71
|
+
|
72
|
+
seen << spec.full_name
|
73
|
+
results << spec
|
73
74
|
end
|
74
75
|
end
|
75
76
|
|
@@ -170,7 +171,7 @@ module Bundler
|
|
170
171
|
def dependencies_eql?(spec, other_spec)
|
171
172
|
deps = spec.dependencies.select {|d| d.type != :development }
|
172
173
|
other_deps = other_spec.dependencies.select {|d| d.type != :development }
|
173
|
-
|
174
|
+
deps.sort == other_deps.sort
|
174
175
|
end
|
175
176
|
|
176
177
|
def add_source(index)
|
@@ -89,6 +89,8 @@ module Bundler
|
|
89
89
|
end
|
90
90
|
install(options)
|
91
91
|
|
92
|
+
Gem::Specification.reset # invalidate gem specification cache so that installed gems are immediately available
|
93
|
+
|
92
94
|
lock unless Bundler.frozen_bundle?
|
93
95
|
Standalone.new(options[:standalone], @definition).generate if options[:standalone]
|
94
96
|
end
|
@@ -55,9 +55,10 @@ module Bundler
|
|
55
55
|
kernel = (class << ::Kernel; self; end)
|
56
56
|
[kernel, ::Kernel].each do |k|
|
57
57
|
if k.private_method_defined?(:gem_original_require)
|
58
|
+
private_require = k.private_method_defined?(:require)
|
58
59
|
k.send(:remove_method, :require)
|
59
60
|
k.send(:define_method, :require, k.instance_method(:gem_original_require))
|
60
|
-
k.send(:private, :require)
|
61
|
+
k.send(:private, :require) if private_require
|
61
62
|
end
|
62
63
|
end
|
63
64
|
END
|
@@ -4,22 +4,6 @@ require_relative "match_platform"
|
|
4
4
|
|
5
5
|
module Bundler
|
6
6
|
class LazySpecification
|
7
|
-
Identifier = Struct.new(:name, :version, :platform)
|
8
|
-
class Identifier
|
9
|
-
include Comparable
|
10
|
-
def <=>(other)
|
11
|
-
return unless other.is_a?(Identifier)
|
12
|
-
[name, version, platform_string] <=> [other.name, other.version, other.platform_string]
|
13
|
-
end
|
14
|
-
|
15
|
-
protected
|
16
|
-
|
17
|
-
def platform_string
|
18
|
-
platform_string = platform.to_s
|
19
|
-
platform_string == Index::RUBY ? Index::NULL : platform_string
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
7
|
include MatchPlatform
|
24
8
|
|
25
9
|
attr_reader :name, :version, :dependencies, :platform
|
@@ -108,7 +92,7 @@ module Bundler
|
|
108
92
|
end
|
109
93
|
|
110
94
|
def identifier
|
111
|
-
@__identifier ||=
|
95
|
+
@__identifier ||= [name, version, platform_string]
|
112
96
|
end
|
113
97
|
|
114
98
|
def git_version
|
@@ -116,6 +100,13 @@ module Bundler
|
|
116
100
|
" #{source.revision[0..6]}"
|
117
101
|
end
|
118
102
|
|
103
|
+
protected
|
104
|
+
|
105
|
+
def platform_string
|
106
|
+
platform_string = platform.to_s
|
107
|
+
platform_string == Index::RUBY ? Index::NULL : platform_string
|
108
|
+
end
|
109
|
+
|
119
110
|
private
|
120
111
|
|
121
112
|
def to_ary
|
@@ -211,10 +211,10 @@ The following is a list of all configuration keys and their purpose\. You can le
|
|
211
211
|
\fBignore_messages\fR (\fBBUNDLE_IGNORE_MESSAGES\fR): When set, no post install messages will be printed\. To silence a single gem, use dot notation like \fBignore_messages\.httparty true\fR\.
|
212
212
|
.
|
213
213
|
.IP "\(bu" 4
|
214
|
-
\fBinit_gems_rb\fR (\fBBUNDLE_INIT_GEMS_RB\fR) Generate a \fBgems\.rb\fR instead of a \fBGemfile\fR when running \fBbundle init\fR\.
|
214
|
+
\fBinit_gems_rb\fR (\fBBUNDLE_INIT_GEMS_RB\fR): Generate a \fBgems\.rb\fR instead of a \fBGemfile\fR when running \fBbundle init\fR\.
|
215
215
|
.
|
216
216
|
.IP "\(bu" 4
|
217
|
-
\fBjobs\fR (\fBBUNDLE_JOBS\fR): The number of gems Bundler can install in parallel\. Defaults to 1\.
|
217
|
+
\fBjobs\fR (\fBBUNDLE_JOBS\fR): The number of gems Bundler can install in parallel\. Defaults to 1 on Windows, and to the the number of processors on other platforms\.
|
218
218
|
.
|
219
219
|
.IP "\(bu" 4
|
220
220
|
\fBno_install\fR (\fBBUNDLE_NO_INSTALL\fR): Whether \fBbundle package\fR should skip installing gems\.
|
@@ -241,7 +241,7 @@ The following is a list of all configuration keys and their purpose\. You can le
|
|
241
241
|
\fBprefer_patch\fR (BUNDLE_PREFER_PATCH): Prefer updating only to next patch version during updates\. Makes \fBbundle update\fR calls equivalent to \fBbundler update \-\-patch\fR\.
|
242
242
|
.
|
243
243
|
.IP "\(bu" 4
|
244
|
-
\fBprint_only_version_number\fR (\fBBUNDLE_PRINT_ONLY_VERSION_NUMBER\fR) Print only version number from \fBbundler \-\-version\fR\.
|
244
|
+
\fBprint_only_version_number\fR (\fBBUNDLE_PRINT_ONLY_VERSION_NUMBER\fR): Print only version number from \fBbundler \-\-version\fR\.
|
245
245
|
.
|
246
246
|
.IP "\(bu" 4
|
247
247
|
\fBredirect\fR (\fBBUNDLE_REDIRECT\fR): The number of redirects allowed for network requests\. Defaults to \fB5\fR\.
|
@@ -283,7 +283,7 @@ The following is a list of all configuration keys and their purpose\. You can le
|
|
283
283
|
\fBunlock_source_unlocks_spec\fR (\fBBUNDLE_UNLOCK_SOURCE_UNLOCKS_SPEC\fR): Whether running \fBbundle update \-\-source NAME\fR unlocks a gem with the given name\. Defaults to \fBtrue\fR\.
|
284
284
|
.
|
285
285
|
.IP "\(bu" 4
|
286
|
-
\fBupdate_requires_all_flag\fR (\fBBUNDLE_UPDATE_REQUIRES_ALL_FLAG\fR) Require passing \fB\-\-all\fR to \fBbundle update\fR when everything should be updated, and disallow passing no options to \fBbundle update\fR\.
|
286
|
+
\fBupdate_requires_all_flag\fR (\fBBUNDLE_UPDATE_REQUIRES_ALL_FLAG\fR): Require passing \fB\-\-all\fR to \fBbundle update\fR when everything should be updated, and disallow passing no options to \fBbundle update\fR\.
|
287
287
|
.
|
288
288
|
.IP "\(bu" 4
|
289
289
|
\fBuser_agent\fR (\fBBUNDLE_USER_AGENT\fR): The custom user agent fragment Bundler includes in API requests\.
|
@@ -206,13 +206,14 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
|
|
206
206
|
* `global_gem_cache` (`BUNDLE_GLOBAL_GEM_CACHE`):
|
207
207
|
Whether Bundler should cache all gems globally, rather than locally to the
|
208
208
|
installing Ruby installation.
|
209
|
-
* `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`):
|
210
|
-
messages will be printed. To silence a single gem,
|
211
|
-
`ignore_messages.httparty true`.
|
212
|
-
* `init_gems_rb` (`BUNDLE_INIT_GEMS_RB`)
|
209
|
+
* `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`):
|
210
|
+
When set, no post install messages will be printed. To silence a single gem,
|
211
|
+
use dot notation like `ignore_messages.httparty true`.
|
212
|
+
* `init_gems_rb` (`BUNDLE_INIT_GEMS_RB`):
|
213
213
|
Generate a `gems.rb` instead of a `Gemfile` when running `bundle init`.
|
214
214
|
* `jobs` (`BUNDLE_JOBS`):
|
215
|
-
The number of gems Bundler can install in parallel. Defaults to 1
|
215
|
+
The number of gems Bundler can install in parallel. Defaults to 1 on Windows,
|
216
|
+
and to the the number of processors on other platforms.
|
216
217
|
* `no_install` (`BUNDLE_NO_INSTALL`):
|
217
218
|
Whether `bundle package` should skip installing gems.
|
218
219
|
* `no_prune` (`BUNDLE_NO_PRUNE`):
|
@@ -233,7 +234,7 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
|
|
233
234
|
Enable Bundler's experimental plugin system.
|
234
235
|
* `prefer_patch` (BUNDLE_PREFER_PATCH):
|
235
236
|
Prefer updating only to next patch version during updates. Makes `bundle update` calls equivalent to `bundler update --patch`.
|
236
|
-
* `print_only_version_number` (`BUNDLE_PRINT_ONLY_VERSION_NUMBER`)
|
237
|
+
* `print_only_version_number` (`BUNDLE_PRINT_ONLY_VERSION_NUMBER`):
|
237
238
|
Print only version number from `bundler --version`.
|
238
239
|
* `redirect` (`BUNDLE_REDIRECT`):
|
239
240
|
The number of redirects allowed for network requests. Defaults to `5`.
|
@@ -269,7 +270,7 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
|
|
269
270
|
* `unlock_source_unlocks_spec` (`BUNDLE_UNLOCK_SOURCE_UNLOCKS_SPEC`):
|
270
271
|
Whether running `bundle update --source NAME` unlocks a gem with the given
|
271
272
|
name. Defaults to `true`.
|
272
|
-
* `update_requires_all_flag` (`BUNDLE_UPDATE_REQUIRES_ALL_FLAG`)
|
273
|
+
* `update_requires_all_flag` (`BUNDLE_UPDATE_REQUIRES_ALL_FLAG`):
|
273
274
|
Require passing `--all` to `bundle update` when everything should be updated,
|
274
275
|
and disallow passing no options to `bundle update`.
|
275
276
|
* `user_agent` (`BUNDLE_USER_AGENT`):
|