rubygems-update 3.2.4 → 3.2.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +50 -0
- data/Manifest.txt +2 -0
- data/Rakefile +17 -25
- data/bundler/CHANGELOG.md +76 -2
- data/bundler/lib/bundler.rb +1 -2
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli.rb +1 -0
- data/bundler/lib/bundler/cli/cache.rb +1 -0
- data/bundler/lib/bundler/cli/gem.rb +14 -0
- data/bundler/lib/bundler/compact_index_client/updater.rb +0 -8
- data/bundler/lib/bundler/definition.rb +18 -32
- data/bundler/lib/bundler/dep_proxy.rb +15 -8
- data/bundler/lib/bundler/feature_flag.rb +0 -1
- data/bundler/lib/bundler/fetcher.rb +0 -1
- data/bundler/lib/bundler/gem_helper.rb +9 -7
- data/bundler/lib/bundler/gem_version_promoter.rb +2 -2
- data/bundler/lib/bundler/index.rb +6 -5
- data/bundler/lib/bundler/installer.rb +0 -17
- data/bundler/lib/bundler/installer/standalone.rb +15 -0
- data/bundler/lib/bundler/lazy_specification.rb +9 -18
- data/bundler/lib/bundler/man/bundle-add.1 +1 -1
- data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
- data/bundler/lib/bundler/man/bundle-check.1 +1 -1
- data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
- data/bundler/lib/bundler/man/bundle-config.1 +4 -4
- data/bundler/lib/bundler/man/bundle-config.1.ronn +3 -3
- data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/lib/bundler/man/bundle-exec.1 +1 -1
- data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
- data/bundler/lib/bundler/man/bundle-info.1 +1 -1
- data/bundler/lib/bundler/man/bundle-init.1 +1 -1
- data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
- data/bundler/lib/bundler/man/bundle-install.1 +1 -1
- data/bundler/lib/bundler/man/bundle-list.1 +1 -1
- data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
- data/bundler/lib/bundler/man/bundle-open.1 +1 -1
- data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
- data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
- data/bundler/lib/bundler/man/bundle-show.1 +1 -1
- data/bundler/lib/bundler/man/bundle-update.1 +1 -1
- data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
- data/bundler/lib/bundler/man/bundle.1 +1 -1
- data/bundler/lib/bundler/man/gemfile.5 +1 -1
- data/bundler/lib/bundler/resolver.rb +82 -43
- data/bundler/lib/bundler/resolver/spec_group.rb +56 -44
- data/bundler/lib/bundler/rubygems_ext.rb +16 -0
- data/bundler/lib/bundler/settings.rb +1 -1
- data/bundler/lib/bundler/shared_helpers.rb +2 -2
- data/bundler/lib/bundler/source/git.rb +19 -17
- data/bundler/lib/bundler/source/git/git_proxy.rb +35 -17
- data/bundler/lib/bundler/source/path/installer.rb +2 -0
- data/bundler/lib/bundler/source/rubygems.rb +10 -2
- data/bundler/lib/bundler/source_list.rb +2 -4
- data/bundler/lib/bundler/spec_set.rb +5 -4
- data/bundler/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
- data/bundler/lib/bundler/templates/newgem/Gemfile.tt +1 -1
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
- data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +3 -0
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +7 -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 +2 -2
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +11 -0
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +11 -7
- 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 +3 -3
- data/lib/rubygems/commands/setup_command.rb +1 -3
- data/lib/rubygems/dependency.rb +5 -1
- data/lib/rubygems/ext/builder.rb +2 -1
- data/lib/rubygems/installer_uninstaller_utils.rb +6 -1
- data/lib/rubygems/platform.rb +0 -4
- data/lib/rubygems/requirement.rb +1 -1
- 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 +11 -5
- data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +2 -2
- 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 +27 -24
- data/lib/rubygems/test_case.rb +19 -7
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/data/null-required-ruby-version.gemspec.rz +0 -0
- data/test/rubygems/test_gem.rb +83 -0
- data/test/rubygems/test_gem_commands_outdated_command.rb +18 -0
- data/test/rubygems/test_gem_commands_setup_command.rb +8 -1
- data/test/rubygems/test_gem_dependency_installer.rb +27 -18
- data/test/rubygems/test_gem_ext_builder.rb +24 -0
- data/test/rubygems/test_gem_installer.rb +2 -0
- data/test/rubygems/test_gem_platform.rb +8 -0
- data/test/rubygems/test_gem_requirement.rb +35 -1
- data/test/rubygems/test_gem_specification.rb +18 -15
- data/test/rubygems/test_gem_stream_ui.rb +1 -1
- data/test/rubygems/test_gem_util.rb +4 -4
- 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: 6f97da94a4361531119587adbe81df2cb025b7cd46e64ac4344897e403eba853
|
4
|
+
data.tar.gz: 3539b4322d457c4b4f3fb387880aac7ba86f8c72f34ea66b2b4e749411dff5f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b4a518220115bc1e638e0ef3a69cbacf49a21940666b9fc9310426cc077fc3ba73c1ffbd9860ecd6dd8210c1c80853ed916298e610c3e508679c0d853f471ad
|
7
|
+
data.tar.gz: 28dcf6a59842e3838ccb94fe5ad35a947fb4f1e532eff8edb2a0b49d00741853b8a56ee595233bd6d0768cc0c4c33c49bf965900ad315f88936dec90e0abd5a8
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,53 @@
|
|
1
|
+
# 3.2.9 / 2021-02-08
|
2
|
+
|
3
|
+
## Bug fixes:
|
4
|
+
|
5
|
+
* Fix error message when underscore selection can't find bundler. Pull
|
6
|
+
request #4363 by deivid-rodriguez
|
7
|
+
* Fix `Gem::Specification.stubs_for` returning wrong named specs. Pull
|
8
|
+
request #4356 by tompng
|
9
|
+
* Don't error out when activating a binstub unless necessary. Pull request
|
10
|
+
#4351 by deivid-rodriguez
|
11
|
+
* Fix `gem outdated` incorrectly handling platform specific gems. Pull
|
12
|
+
request #4248 by deivid-rodriguez
|
13
|
+
|
14
|
+
# 3.2.8 / 2021-02-02
|
15
|
+
|
16
|
+
## Bug fixes:
|
17
|
+
|
18
|
+
* Fix `gem install` crashing on gemspec with nil required_ruby_version.
|
19
|
+
Pull request #4334 by pbernays
|
20
|
+
|
21
|
+
# 3.2.7 / 2021-01-26
|
22
|
+
|
23
|
+
## Bug fixes:
|
24
|
+
|
25
|
+
* Generate plugin wrappers with relative requires. Pull request #4317 by
|
26
|
+
deivid-rodriguez
|
27
|
+
|
28
|
+
# 3.2.6 / 2021-01-18
|
29
|
+
|
30
|
+
## Enhancements:
|
31
|
+
|
32
|
+
* Fix `Gem::Platform#inspect` showing duplicate information. Pull request
|
33
|
+
#4276 by deivid-rodriguez
|
34
|
+
|
35
|
+
## Bug fixes:
|
36
|
+
|
37
|
+
* Swallow any system call error in `ensure_gem_subdirs` to support jruby
|
38
|
+
embedded paths. Pull request #4291 by kares
|
39
|
+
* Restore accepting custom make command with extra options as the `make`
|
40
|
+
env variable. Pull request #4271 by terceiro
|
41
|
+
|
42
|
+
# 3.2.5 / 2021-01-11
|
43
|
+
|
44
|
+
## Bug fixes:
|
45
|
+
|
46
|
+
* Don't load more specs after the whole set of specs has been setup. Pull
|
47
|
+
request #4262 by deivid-rodriguez
|
48
|
+
* Fix broken `bundler` executable after `gem update --system`. Pull
|
49
|
+
request #4221 by deivid-rodriguez
|
50
|
+
|
1
51
|
# 3.2.4 / 2020-12-31
|
2
52
|
|
3
53
|
## Enhancements:
|
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
|
@@ -511,6 +512,7 @@ test/rubygems/child_key.pem
|
|
511
512
|
test/rubygems/client.pem
|
512
513
|
test/rubygems/data/gem-private_key.pem
|
513
514
|
test/rubygems/data/gem-public_cert.pem
|
515
|
+
test/rubygems/data/null-required-ruby-version.gemspec.rz
|
514
516
|
test/rubygems/data/null-required-rubygems-version.gemspec.rz
|
515
517
|
test/rubygems/data/null-type.gemspec.rz
|
516
518
|
test/rubygems/encrypted_private_key.pem
|
data/Rakefile
CHANGED
@@ -7,9 +7,12 @@ require 'psych'
|
|
7
7
|
|
8
8
|
desc "Setup Rubygems dev environment"
|
9
9
|
task :setup do
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
sh "ruby", "bundler/bin/bundle", "install", "--gemfile=dev_gems.rb"
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Update Rubygems dev environment"
|
14
|
+
task :update do |_, args|
|
15
|
+
sh "ruby", "bundler/bin/bundle", "update", *args, "--gemfile=dev_gems.rb"
|
13
16
|
end
|
14
17
|
|
15
18
|
desc "Setup git hooks"
|
@@ -49,20 +52,16 @@ RDoc::Task.new :rdoc => 'docs', :clobber_rdoc => 'clobber_docs' do |doc|
|
|
49
52
|
doc.rdoc_dir = 'doc'
|
50
53
|
end
|
51
54
|
|
52
|
-
|
53
|
-
require "automatiek"
|
55
|
+
load "util/automatiek.rake"
|
54
56
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
namespace :vendor do
|
64
|
-
task(:molinillo) { abort "Install the automatiek gem to be able to vendor gems." }
|
65
|
-
end
|
57
|
+
# We currently ship Molinillo master branch as of
|
58
|
+
# https://github.com/CocoaPods/Molinillo/commit/7cc27a355e861bdf593e2cde7bf1bca3daae4303
|
59
|
+
Automatiek::RakeTask.new("molinillo") do |lib|
|
60
|
+
lib.version = "master"
|
61
|
+
lib.download = { :github => "https://github.com/CocoaPods/Molinillo" }
|
62
|
+
lib.namespace = "Molinillo"
|
63
|
+
lib.prefix = "Gem::Resolver"
|
64
|
+
lib.vendor_lib = "lib/rubygems/resolver/molinillo"
|
66
65
|
end
|
67
66
|
|
68
67
|
namespace :rubocop do
|
@@ -183,11 +182,7 @@ end
|
|
183
182
|
|
184
183
|
desc "Upload release to S3"
|
185
184
|
task :upload_to_s3 do
|
186
|
-
|
187
|
-
require "aws-sdk-s3"
|
188
|
-
rescue LoadError
|
189
|
-
abort "Install the aws-sdk-s3 gem to be able to upload gems to rubygems.org."
|
190
|
-
end
|
185
|
+
require "aws-sdk-s3"
|
191
186
|
|
192
187
|
s3 = Aws::S3::Resource.new(region:'us-west-2')
|
193
188
|
%w[zip tgz].each do |ext|
|
@@ -313,9 +308,7 @@ To update to the latest RubyGems you can run:
|
|
313
308
|
|
314
309
|
gem update --system
|
315
310
|
|
316
|
-
|
317
|
-
RubyGems][upgrading] instructions. To install RubyGems by hand see the
|
318
|
-
[Download RubyGems][download] page.
|
311
|
+
To install RubyGems by hand see the [Download RubyGems][download] page.
|
319
312
|
|
320
313
|
#{history.release_notes_for_blog.join("\n")}
|
321
314
|
|
@@ -324,7 +317,6 @@ SHA256 Checksums:
|
|
324
317
|
#{checksums}
|
325
318
|
|
326
319
|
[download]: https://rubygems.org/pages/download
|
327
|
-
[upgrading]: http://docs.seattlerb.org/rubygems/UPGRADING_rdoc.html
|
328
320
|
|
329
321
|
ANNOUNCEMENT
|
330
322
|
|
data/bundler/CHANGELOG.md
CHANGED
@@ -1,3 +1,77 @@
|
|
1
|
+
# 2.2.9 (February 8, 2021)
|
2
|
+
|
3
|
+
## Enhancements:
|
4
|
+
|
5
|
+
- Stop removing existing platforms when force_ruby_platform is true [#4336](https://github.com/rubygems/rubygems/pull/4336)
|
6
|
+
|
7
|
+
## Bug fixes:
|
8
|
+
|
9
|
+
- Don't install platform specific gems on truffleruby [#4333](https://github.com/rubygems/rubygems/pull/4333)
|
10
|
+
|
11
|
+
# 2.2.8 (February 2, 2021)
|
12
|
+
|
13
|
+
## Enhancements:
|
14
|
+
|
15
|
+
- Add a CHANGELOG.md file to gems generated by `bundle gem` [#4093](https://github.com/rubygems/rubygems/pull/4093)
|
16
|
+
- Support gemified `set` [#4297](https://github.com/rubygems/rubygems/pull/4297)
|
17
|
+
|
18
|
+
## Bug fixes:
|
19
|
+
|
20
|
+
- Fix standalone Kernel.require visibility [#4337](https://github.com/rubygems/rubygems/pull/4337)
|
21
|
+
|
22
|
+
## Performance:
|
23
|
+
|
24
|
+
- Fix resolver edge cases and speed up bundler [#4277](https://github.com/rubygems/rubygems/pull/4277)
|
25
|
+
|
26
|
+
# 2.2.7 (January 26, 2021)
|
27
|
+
|
28
|
+
## Enhancements:
|
29
|
+
|
30
|
+
- Improve error messages when dependency on bundler conflicts with running version [#4308](https://github.com/rubygems/rubygems/pull/4308)
|
31
|
+
- Avoid showing platforms with requirements in error messages [#4310](https://github.com/rubygems/rubygems/pull/4310)
|
32
|
+
- Introduce disable_local_revision_check config [#4237](https://github.com/rubygems/rubygems/pull/4237)
|
33
|
+
- Reverse rubygems require mixin with bundler standalone [#4299](https://github.com/rubygems/rubygems/pull/4299)
|
34
|
+
|
35
|
+
## Bug fixes:
|
36
|
+
|
37
|
+
- Fix releasing from a not yet pushed branch [#4309](https://github.com/rubygems/rubygems/pull/4309)
|
38
|
+
- Install cache only once if it already exists [#4304](https://github.com/rubygems/rubygems/pull/4304)
|
39
|
+
- Fix `force_ruby_platform` no longer being respected [#4302](https://github.com/rubygems/rubygems/pull/4302)
|
40
|
+
|
41
|
+
## Performance:
|
42
|
+
|
43
|
+
- Fix resolver dependency comparison [#4289](https://github.com/rubygems/rubygems/pull/4289)
|
44
|
+
|
45
|
+
# 2.2.6 (January 18, 2021)
|
46
|
+
|
47
|
+
## Enhancements:
|
48
|
+
|
49
|
+
- Improve resolver debugging [#4288](https://github.com/rubygems/rubygems/pull/4288)
|
50
|
+
|
51
|
+
## Bug fixes:
|
52
|
+
|
53
|
+
- Fix dependency locking for path source [#4293](https://github.com/rubygems/rubygems/pull/4293)
|
54
|
+
|
55
|
+
## Performance:
|
56
|
+
|
57
|
+
- Speed up complex dependency resolves by creating DepProxy factory and cache [#4216](https://github.com/rubygems/rubygems/pull/4216)
|
58
|
+
|
59
|
+
# 2.2.5 (January 11, 2021)
|
60
|
+
|
61
|
+
## Enhancements:
|
62
|
+
|
63
|
+
- Improve rubocop setup in the new gem template [#4220](https://github.com/rubygems/rubygems/pull/4220)
|
64
|
+
- Support repositories with default branch not named master [#4224](https://github.com/rubygems/rubygems/pull/4224)
|
65
|
+
|
66
|
+
## Bug fixes:
|
67
|
+
|
68
|
+
- Let Net::HTTP decompress the index instead of doing it manually [#4081](https://github.com/rubygems/rubygems/pull/4081)
|
69
|
+
- Workaround for another jruby crash when autoloading a constant [#4252](https://github.com/rubygems/rubygems/pull/4252)
|
70
|
+
- Fix another performance regression in the resolver [#4243](https://github.com/rubygems/rubygems/pull/4243)
|
71
|
+
- Restore support for old git versions [#4233](https://github.com/rubygems/rubygems/pull/4233)
|
72
|
+
- Give a proper error if cache path does not have write access [#4215](https://github.com/rubygems/rubygems/pull/4215)
|
73
|
+
- Fix running `rake release` from an ambiguous ref [#4219](https://github.com/rubygems/rubygems/pull/4219)
|
74
|
+
|
1
75
|
# 2.2.4 (December 31, 2020)
|
2
76
|
|
3
77
|
## Bug fixes:
|
@@ -327,7 +401,7 @@
|
|
327
401
|
- Fix `bundle update` message about exclude groups saying "installed" instead of "updated" ([#7150](https://github.com/rubygems/bundler/pull/7150))
|
328
402
|
- Fix `bundle licenses` not showing correct information about bundler itself ([#7147](https://github.com/rubygems/bundler/pull/7147))
|
329
403
|
- Fix installation path not including ruby scope when `BUNDLE_PATH` was set ([#7163](https://github.com/rubygems/bundler/pull/7163))
|
330
|
-
- Fix `bundle clean` incorrectly removing git
|
404
|
+
- Fix `bundle clean` incorrectly removing git dependencies present in the Gemfile when rubygems 3.0+ was used and path involved a symlink ([#7211](https://github.com/rubygems/bundler/pull/7211))
|
331
405
|
- Fix platform specific gems always being re-resolved when bundler was not running under that platform ([#7212](https://github.com/rubygems/bundler/pull/7212))
|
332
406
|
- Fix `bundle package --all-platforms` causing `bundle install` to ignore `--with` and `--without` ([#6113](https://github.com/rubygems/bundler/pull/6113))
|
333
407
|
- Fix `MissingRevision` git errors to include the specific `git` command that failed under the hood ([#7225](https://github.com/rubygems/bundler/pull/7225))
|
@@ -499,7 +573,7 @@ Changes
|
|
499
573
|
## Bug fixes:
|
500
574
|
|
501
575
|
- Fix issue where updating a gem resulted in the gem's version being downgraded when `BUNDLE_ONLY_UPDATE_TO_NEWER_VERSIONS` was set ([#6529](https://github.com/rubygems/bundler/issues/6529), @theflow)
|
502
|
-
- Fix some rescue calls that don't
|
576
|
+
- Fix some rescue calls that don't specify error type (@utilum)
|
503
577
|
- Fix an issue when the Lockfile would contain platform-specific gems that it didn't need ([#6491](https://github.com/rubygems/bundler/issues/6491), @segiddins)
|
504
578
|
- Improve handling of adding new gems with only a single group to the Gemfile in `bundle add` (@agrim123)
|
505
579
|
- Refactor check for OpenSSL in `bundle env` (@voxik)
|
data/bundler/lib/bundler.rb
CHANGED
@@ -63,7 +63,6 @@ module Bundler
|
|
63
63
|
autoload :Resolver, File.expand_path("bundler/resolver", __dir__)
|
64
64
|
autoload :Retry, File.expand_path("bundler/retry", __dir__)
|
65
65
|
autoload :RubyDsl, File.expand_path("bundler/ruby_dsl", __dir__)
|
66
|
-
autoload :RubyGemsGemInstaller, File.expand_path("bundler/rubygems_gem_installer", __dir__)
|
67
66
|
autoload :RubyVersion, File.expand_path("bundler/ruby_version", __dir__)
|
68
67
|
autoload :Runtime, File.expand_path("bundler/runtime", __dir__)
|
69
68
|
autoload :Settings, File.expand_path("bundler/settings", __dir__)
|
@@ -441,7 +440,7 @@ EOF
|
|
441
440
|
end
|
442
441
|
|
443
442
|
def local_platform
|
444
|
-
return Gem::Platform::RUBY if settings[:force_ruby_platform]
|
443
|
+
return Gem::Platform::RUBY if settings[:force_ruby_platform] || Gem.platforms == [Gem::Platform::RUBY]
|
445
444
|
Gem::Platform.local
|
446
445
|
end
|
447
446
|
|
@@ -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 = "2021-02-08".freeze
|
8
|
+
@git_commit_sha = "30e740c073".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"] || "",
|
@@ -59,6 +59,7 @@ module Bundler
|
|
59
59
|
:exe => options[:exe],
|
60
60
|
:bundler_version => bundler_dependency_version,
|
61
61
|
:github_username => github_username.empty? ? "[USERNAME]" : github_username,
|
62
|
+
:required_ruby_version => Gem.ruby_version < Gem::Version.new("2.4.a") ? "2.3.0" : "2.4.0",
|
62
63
|
}
|
63
64
|
ensure_safe_gem_name(name, constant_array)
|
64
65
|
|
@@ -141,12 +142,25 @@ module Bundler
|
|
141
142
|
templates.merge!("CODE_OF_CONDUCT.md.tt" => "CODE_OF_CONDUCT.md")
|
142
143
|
end
|
143
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
|
+
|
144
157
|
if ask_and_set(:rubocop, "Do you want to add rubocop as a dependency for gems you generate?",
|
145
158
|
"RuboCop is a static code analyzer that has out-of-the-box rules for many " \
|
146
159
|
"of the guidelines in the community style guide. " \
|
147
160
|
"For more information, see the RuboCop docs (https://docs.rubocop.org/en/stable/) " \
|
148
161
|
"and the Ruby Style Guides (https://github.com/rubocop-hq/ruby-style-guide).")
|
149
162
|
config[:rubocop] = true
|
163
|
+
config[:rubocop_version] = Gem.ruby_version < Gem::Version.new("2.4.a") ? "0.81.0" : "1.7"
|
150
164
|
Bundler.ui.info "RuboCop enabled in config"
|
151
165
|
templates.merge!("rubocop.yml.tt" => ".rubocop.yml")
|
152
166
|
end
|
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative "../vendored_fileutils"
|
4
|
-
require "stringio"
|
5
|
-
require "zlib"
|
6
4
|
|
7
5
|
module Bundler
|
8
6
|
class CompactIndexClient
|
@@ -45,18 +43,12 @@ module Bundler
|
|
45
43
|
else
|
46
44
|
"bytes=#{local_temp_path.size}-"
|
47
45
|
end
|
48
|
-
else
|
49
|
-
# Fastly ignores Range when Accept-Encoding: gzip is set
|
50
|
-
headers["Accept-Encoding"] = "gzip"
|
51
46
|
end
|
52
47
|
|
53
48
|
response = @fetcher.call(remote_path, headers)
|
54
49
|
return nil if response.is_a?(Net::HTTPNotModified)
|
55
50
|
|
56
51
|
content = response.body
|
57
|
-
if response["Content-Encoding"] == "gzip"
|
58
|
-
content = Zlib::GzipReader.new(StringIO.new(content)).read
|
59
|
-
end
|
60
52
|
|
61
53
|
SharedHelpers.filesystem_access(local_temp_path) do
|
62
54
|
if response.is_a?(Net::HTTPPartialContent) && local_temp_path.size.nonzero?
|
@@ -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.sort != locked_deps_for_source.sort
|
608
598
|
end
|
609
599
|
|
610
600
|
def specs_for_source_changed?(source)
|
@@ -818,11 +808,6 @@ module Bundler
|
|
818
808
|
# commonly happens if the version changed in the gemspec
|
819
809
|
next unless new_spec
|
820
810
|
|
821
|
-
new_runtime_deps = new_spec.dependencies.select {|d| d.type != :development }
|
822
|
-
old_runtime_deps = s.dependencies.select {|d| d.type != :development }
|
823
|
-
# If the dependencies of the path source have changed and locked spec can't satisfy new dependencies, unlock it
|
824
|
-
next unless new_runtime_deps.sort == old_runtime_deps.sort || new_runtime_deps.all? {|d| satisfies_locked_spec?(d) }
|
825
|
-
|
826
811
|
s.dependencies.replace(new_spec.dependencies)
|
827
812
|
end
|
828
813
|
|
@@ -889,7 +874,7 @@ module Bundler
|
|
889
874
|
dependencies.each do |dep|
|
890
875
|
dep = Dependency.new(dep, ">= 0") unless dep.respond_to?(:name)
|
891
876
|
next unless remote || dep.current_platform?
|
892
|
-
target_platforms = dep.gem_platforms(remote ?
|
877
|
+
target_platforms = dep.gem_platforms(remote ? @platforms : [generic_local_platform])
|
893
878
|
deps += expand_dependency_with_platforms(dep, target_platforms)
|
894
879
|
end
|
895
880
|
deps
|
@@ -897,7 +882,7 @@ module Bundler
|
|
897
882
|
|
898
883
|
def expand_dependency_with_platforms(dep, platforms)
|
899
884
|
platforms.map do |p|
|
900
|
-
DepProxy.
|
885
|
+
DepProxy.get_proxy(dep, p)
|
901
886
|
end
|
902
887
|
end
|
903
888
|
|
@@ -918,6 +903,7 @@ module Bundler
|
|
918
903
|
metadata_dependencies.each do |dep|
|
919
904
|
source_requirements[dep.name] = sources.metadata_source
|
920
905
|
end
|
906
|
+
source_requirements[:default_bundler] = source_requirements["bundler"] || source_requirements[:default]
|
921
907
|
source_requirements["bundler"] = sources.metadata_source # needs to come last to override
|
922
908
|
source_requirements
|
923
909
|
end
|
@@ -977,7 +963,7 @@ module Bundler
|
|
977
963
|
next requirements if @locked_gems.dependencies[name] != dependency
|
978
964
|
next requirements if dependency.source.is_a?(Source::Path)
|
979
965
|
dep = Gem::Dependency.new(name, ">= #{locked_spec.version}")
|
980
|
-
requirements[name] = DepProxy.
|
966
|
+
requirements[name] = DepProxy.get_proxy(dep, locked_spec.platform)
|
981
967
|
requirements
|
982
968
|
end.values
|
983
969
|
end
|