rubygems-update 3.2.27 → 3.2.31
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 +70 -0
- data/Manifest.txt +28 -1
- data/bundler/CHANGELOG.md +52 -1
- data/bundler/README.md +1 -1
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/gem.rb +86 -8
- data/bundler/lib/bundler/cli/info.rb +11 -4
- data/bundler/lib/bundler/cli/issue.rb +4 -3
- data/bundler/lib/bundler/cli/remove.rb +1 -2
- data/bundler/lib/bundler/cli.rb +4 -1
- data/bundler/lib/bundler/compact_index_client.rb +2 -2
- data/bundler/lib/bundler/definition.rb +14 -9
- data/bundler/lib/bundler/digest.rb +71 -0
- data/bundler/lib/bundler/errors.rb +18 -2
- data/bundler/lib/bundler/fetcher.rb +2 -1
- data/bundler/lib/bundler/friendly_errors.rb +5 -30
- data/bundler/lib/bundler/gem_helper.rb +6 -17
- data/bundler/lib/bundler/lockfile_parser.rb +1 -0
- 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 +3 -3
- data/bundler/lib/bundler/man/bundle-config.1.ronn +2 -2
- 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 +14 -1
- data/bundler/lib/bundler/man/bundle-gem.1.ronn +16 -0
- 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/rubygems_ext.rb +4 -0
- data/bundler/lib/bundler/rubygems_gem_installer.rb +20 -4
- data/bundler/lib/bundler/rubygems_integration.rb +26 -9
- data/bundler/lib/bundler/runtime.rb +2 -2
- data/bundler/lib/bundler/source/git/git_proxy.rb +5 -2
- data/bundler/lib/bundler/source/git.rb +22 -4
- data/bundler/lib/bundler/source/rubygems.rb +36 -72
- data/bundler/lib/bundler/spec_set.rb +1 -1
- data/bundler/lib/bundler/templates/newgem/Gemfile.tt +5 -2
- data/bundler/lib/bundler/templates/newgem/Rakefile.tt +5 -1
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +13 -13
- data/bundler/lib/bundler/templates/newgem/standard.yml.tt +4 -0
- data/bundler/lib/bundler/vendor/connection_pool/LICENSE +20 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +19 -21
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +57 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +39 -74
- data/bundler/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
- data/bundler/lib/bundler/vendor/molinillo/LICENSE +9 -0
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +2 -2
- data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
- data/bundler/lib/bundler/vendor/thor/LICENSE.md +20 -0
- data/bundler/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
- data/bundler/lib/bundler/vendor/tsort/lib/tsort.rb +453 -0
- data/bundler/lib/bundler/vendor/uri/LICENSE.txt +22 -0
- data/bundler/lib/bundler/vendored_tsort.rb +4 -0
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler/worker.rb +2 -2
- data/bundler/lib/bundler.rb +2 -1
- data/lib/rubygems/command.rb +4 -4
- data/lib/rubygems/commands/cert_command.rb +18 -11
- data/lib/rubygems/commands/fetch_command.rb +1 -1
- data/lib/rubygems/commands/server_command.rb +3 -3
- data/lib/rubygems/commands/setup_command.rb +65 -56
- data/lib/rubygems/commands/uninstall_command.rb +1 -1
- data/lib/rubygems/commands/update_command.rb +1 -1
- data/lib/rubygems/core_ext/tcpsocket_init.rb +2 -2
- data/lib/rubygems/defaults.rb +1 -1
- data/lib/rubygems/dependency_list.rb +2 -2
- data/lib/rubygems/errors.rb +1 -2
- data/lib/rubygems/ext/builder.rb +6 -5
- data/lib/rubygems/ext/cmake_builder.rb +1 -1
- data/lib/rubygems/install_update_options.rb +2 -2
- data/lib/rubygems/installer.rb +31 -6
- data/lib/rubygems/local_remote_options.rb +3 -3
- data/lib/rubygems/optparse/COPYING +56 -0
- data/lib/rubygems/optparse/lib/optionparser.rb +2 -0
- data/lib/rubygems/optparse/lib/optparse/ac.rb +54 -0
- data/lib/rubygems/optparse/lib/optparse/date.rb +18 -0
- data/lib/rubygems/optparse/lib/optparse/kwargs.rb +22 -0
- data/lib/rubygems/optparse/lib/optparse/shellwords.rb +7 -0
- data/lib/rubygems/optparse/lib/optparse/time.rb +11 -0
- data/lib/rubygems/optparse/lib/optparse/uri.rb +7 -0
- data/lib/rubygems/optparse/lib/optparse/version.rb +71 -0
- data/lib/rubygems/optparse/lib/optparse.rb +2230 -0
- data/lib/rubygems/optparse.rb +3 -0
- data/lib/rubygems/package.rb +24 -34
- data/lib/rubygems/platform.rb +1 -0
- data/lib/rubygems/query_utils.rb +4 -4
- data/lib/rubygems/remote_fetcher.rb +2 -2
- data/lib/rubygems/request/connection_pools.rb +1 -1
- data/lib/rubygems/request/http_pool.rb +1 -1
- data/lib/rubygems/request.rb +2 -0
- data/lib/rubygems/request_set.rb +3 -3
- data/lib/rubygems/resolver/molinillo/LICENSE +9 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +2 -2
- data/lib/rubygems/resolver/set.rb +0 -1
- data/lib/rubygems/s3_uri_signer.rb +4 -5
- data/lib/rubygems/security/policy.rb +5 -3
- data/lib/rubygems/security/signer.rb +3 -4
- data/lib/rubygems/security.rb +49 -15
- data/lib/rubygems/security_option.rb +3 -3
- data/lib/rubygems/source/git.rb +2 -2
- data/lib/rubygems/source.rb +1 -1
- data/lib/rubygems/specification.rb +12 -8
- data/lib/rubygems/specification_policy.rb +1 -1
- data/lib/rubygems/tsort/LICENSE.txt +22 -0
- data/lib/rubygems/tsort/lib/tsort.rb +454 -0
- data/lib/rubygems/tsort.rb +3 -0
- data/lib/rubygems/uri.rb +9 -0
- data/lib/rubygems/user_interaction.rb +1 -1
- data/lib/rubygems/util/licenses.rb +2 -0
- data/lib/rubygems/util.rb +1 -1
- data/lib/rubygems/version_option.rb +2 -2
- data/lib/rubygems.rb +2 -2
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/encrypted_private_key.pem +26 -26
- data/test/rubygems/helper.rb +26 -30
- data/test/rubygems/private_ec_key.pem +9 -0
- data/test/rubygems/test_gem.rb +59 -71
- data/test/rubygems/test_gem_command.rb +1 -1
- data/test/rubygems/test_gem_commands_cert_command.rb +71 -12
- data/test/rubygems/test_gem_commands_fetch_command.rb +36 -0
- data/test/rubygems/test_gem_commands_server_command.rb +3 -3
- data/test/rubygems/test_gem_commands_setup_command.rb +50 -19
- data/test/rubygems/test_gem_commands_signin_command.rb +1 -1
- data/test/rubygems/test_gem_commands_uninstall_command.rb +1 -1
- data/test/rubygems/test_gem_commands_yank_command.rb +1 -1
- data/test/rubygems/test_gem_install_update_options.rb +2 -2
- data/test/rubygems/test_gem_package.rb +27 -26
- data/test/rubygems/test_gem_platform.rb +1 -0
- data/test/rubygems/test_gem_request.rb +16 -10
- data/test/rubygems/test_gem_resolver.rb +7 -7
- data/test/rubygems/test_gem_security.rb +32 -4
- data/test/rubygems/test_gem_source_fetch_problem.rb +10 -0
- data/test/rubygems/test_gem_specification.rb +239 -232
- data/test/rubygems/test_gem_uri.rb +7 -0
- metadata +34 -7
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb +0 -66
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b9b3eb30992cb27a7b1145d72c67be34eb5b26eb6d884280788819fa3eeb3d16
|
|
4
|
+
data.tar.gz: ad1ae1dc4863afadf470989bff6c7fdd1f69040aa457c75c8ec7d1d542a9ce4e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 42d88e84d8d4cee20d1042c55d535a451ed5ebc304cb0e37457236db9255774d2bfa1dcbfa70e31300b2e857960505cc04a0de68a6461a9b0eb3d3a706475326
|
|
7
|
+
data.tar.gz: 2c6a23a16e036404479502dd75ef7bcd646228fc409229f2b3d917dc831e928abfea07ad27935801846b547a820bc3d1d5e1fa4fa74422b70d542e89840374a9
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,73 @@
|
|
|
1
|
+
# 3.2.31 / 2021-11-08
|
|
2
|
+
|
|
3
|
+
## Enhancements:
|
|
4
|
+
|
|
5
|
+
* Don't pass empty `DESTDIR` to `nmake` since it works differently from
|
|
6
|
+
standard `make`. Pull request #5057 by hsbt
|
|
7
|
+
* Fix `gem install` vs `gem fetch` inconsistency. Pull request #5037 by
|
|
8
|
+
deivid-rodriguez
|
|
9
|
+
* Lazily load and vendor `optparse`. Pull request #4881 by
|
|
10
|
+
deivid-rodriguez
|
|
11
|
+
* Use a vendored copy of `tsort` internally. Pull request #5027 by
|
|
12
|
+
deivid-rodriguez
|
|
13
|
+
|
|
14
|
+
## Bug fixes:
|
|
15
|
+
|
|
16
|
+
* Fix `ruby setup.rb` when `--prefix` is passed. Pull request #5051 by
|
|
17
|
+
deivid-rodriguez
|
|
18
|
+
* Don't apply `--destdir` twice when running `setup.rb`. Pull request
|
|
19
|
+
#2768 by alyssais
|
|
20
|
+
|
|
21
|
+
# 3.2.30 / 2021-10-26
|
|
22
|
+
|
|
23
|
+
## Enhancements:
|
|
24
|
+
|
|
25
|
+
* Add support to build and sign certificates with multiple key algorithms.
|
|
26
|
+
Pull request #4991 by doodzik
|
|
27
|
+
* Avoid loading the `digest` gem unnecessarily. Pull request #4979 by
|
|
28
|
+
deivid-rodriguez
|
|
29
|
+
* Prefer `require_relative` for all internal requires. Pull request #4978
|
|
30
|
+
by deivid-rodriguez
|
|
31
|
+
* Add missing `require` of `time` within
|
|
32
|
+
`Gem::Request.verify_certificate_message`. Pull request #4975 by nobu
|
|
33
|
+
|
|
34
|
+
## Performance:
|
|
35
|
+
|
|
36
|
+
* Speed up `gem install`, specially under Windows. Pull request #4960 by
|
|
37
|
+
deivid-rodriguez
|
|
38
|
+
|
|
39
|
+
# 3.2.29 / 2021-10-08
|
|
40
|
+
|
|
41
|
+
## Enhancements:
|
|
42
|
+
|
|
43
|
+
* Only disallow FIXME/TODO for first word of gemspec description. Pull
|
|
44
|
+
request #4937 by duckinator
|
|
45
|
+
|
|
46
|
+
## Bug fixes:
|
|
47
|
+
|
|
48
|
+
* Fix `wordy` method in `SourceFetchProblem` changing the password of
|
|
49
|
+
source. Pull request #4910 by Huangxiaodui
|
|
50
|
+
|
|
51
|
+
## Performance:
|
|
52
|
+
|
|
53
|
+
* Improve `require` performance, particularly on systems with a lot of
|
|
54
|
+
gems installed. Pull request #4951 by pocke
|
|
55
|
+
|
|
56
|
+
# 3.2.28 / 2021-09-23
|
|
57
|
+
|
|
58
|
+
## Enhancements:
|
|
59
|
+
|
|
60
|
+
* Support MINGW-UCRT. Pull request #4925 by hsbt
|
|
61
|
+
* Only check if descriptions *start with* FIXME/TODO. Pull request #4841
|
|
62
|
+
by duckinator
|
|
63
|
+
* Avoid loading `uri` unnecessarily when activating gems. Pull request
|
|
64
|
+
#4897 by deivid-rodriguez
|
|
65
|
+
|
|
66
|
+
## Bug fixes:
|
|
67
|
+
|
|
68
|
+
* Fix redacted credentials being sent to gemserver. Pull request #4919 by
|
|
69
|
+
jdliss
|
|
70
|
+
|
|
1
71
|
# 3.2.27 / 2021-09-03
|
|
2
72
|
|
|
3
73
|
## Enhancements:
|
data/Manifest.txt
CHANGED
|
@@ -60,6 +60,7 @@ bundler/lib/bundler/dep_proxy.rb
|
|
|
60
60
|
bundler/lib/bundler/dependency.rb
|
|
61
61
|
bundler/lib/bundler/deployment.rb
|
|
62
62
|
bundler/lib/bundler/deprecate.rb
|
|
63
|
+
bundler/lib/bundler/digest.rb
|
|
63
64
|
bundler/lib/bundler/dsl.rb
|
|
64
65
|
bundler/lib/bundler/endpoint_specification.rb
|
|
65
66
|
bundler/lib/bundler/env.rb
|
|
@@ -213,6 +214,7 @@ bundler/lib/bundler/templates/newgem/rspec.tt
|
|
|
213
214
|
bundler/lib/bundler/templates/newgem/rubocop.yml.tt
|
|
214
215
|
bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt
|
|
215
216
|
bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt
|
|
217
|
+
bundler/lib/bundler/templates/newgem/standard.yml.tt
|
|
216
218
|
bundler/lib/bundler/templates/newgem/test/minitest/newgem_test.rb.tt
|
|
217
219
|
bundler/lib/bundler/templates/newgem/test/minitest/test_helper.rb.tt
|
|
218
220
|
bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt
|
|
@@ -223,11 +225,14 @@ bundler/lib/bundler/ui/rg_proxy.rb
|
|
|
223
225
|
bundler/lib/bundler/ui/shell.rb
|
|
224
226
|
bundler/lib/bundler/ui/silent.rb
|
|
225
227
|
bundler/lib/bundler/uri_credentials_filter.rb
|
|
228
|
+
bundler/lib/bundler/vendor/connection_pool/LICENSE
|
|
226
229
|
bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb
|
|
227
|
-
bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb
|
|
228
230
|
bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb
|
|
229
231
|
bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb
|
|
232
|
+
bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb
|
|
233
|
+
bundler/lib/bundler/vendor/fileutils/LICENSE.txt
|
|
230
234
|
bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb
|
|
235
|
+
bundler/lib/bundler/vendor/molinillo/LICENSE
|
|
231
236
|
bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb
|
|
232
237
|
bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb
|
|
233
238
|
bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb
|
|
@@ -248,10 +253,12 @@ bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb
|
|
|
248
253
|
bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb
|
|
249
254
|
bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb
|
|
250
255
|
bundler/lib/bundler/vendor/molinillo/lib/molinillo/state.rb
|
|
256
|
+
bundler/lib/bundler/vendor/net-http-persistent/README.rdoc
|
|
251
257
|
bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb
|
|
252
258
|
bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb
|
|
253
259
|
bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb
|
|
254
260
|
bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb
|
|
261
|
+
bundler/lib/bundler/vendor/thor/LICENSE.md
|
|
255
262
|
bundler/lib/bundler/vendor/thor/lib/thor.rb
|
|
256
263
|
bundler/lib/bundler/vendor/thor/lib/thor/actions.rb
|
|
257
264
|
bundler/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb
|
|
@@ -284,6 +291,9 @@ bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb
|
|
|
284
291
|
bundler/lib/bundler/vendor/thor/lib/thor/util.rb
|
|
285
292
|
bundler/lib/bundler/vendor/thor/lib/thor/version.rb
|
|
286
293
|
bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb
|
|
294
|
+
bundler/lib/bundler/vendor/tsort/LICENSE.txt
|
|
295
|
+
bundler/lib/bundler/vendor/tsort/lib/tsort.rb
|
|
296
|
+
bundler/lib/bundler/vendor/uri/LICENSE.txt
|
|
287
297
|
bundler/lib/bundler/vendor/uri/lib/uri.rb
|
|
288
298
|
bundler/lib/bundler/vendor/uri/lib/uri/common.rb
|
|
289
299
|
bundler/lib/bundler/vendor/uri/lib/uri/file.rb
|
|
@@ -302,6 +312,7 @@ bundler/lib/bundler/vendored_molinillo.rb
|
|
|
302
312
|
bundler/lib/bundler/vendored_persistent.rb
|
|
303
313
|
bundler/lib/bundler/vendored_thor.rb
|
|
304
314
|
bundler/lib/bundler/vendored_tmpdir.rb
|
|
315
|
+
bundler/lib/bundler/vendored_tsort.rb
|
|
305
316
|
bundler/lib/bundler/vendored_uri.rb
|
|
306
317
|
bundler/lib/bundler/version.rb
|
|
307
318
|
bundler/lib/bundler/version_ranges.rb
|
|
@@ -383,6 +394,17 @@ lib/rubygems/local_remote_options.rb
|
|
|
383
394
|
lib/rubygems/mock_gem_ui.rb
|
|
384
395
|
lib/rubygems/name_tuple.rb
|
|
385
396
|
lib/rubygems/openssl.rb
|
|
397
|
+
lib/rubygems/optparse.rb
|
|
398
|
+
lib/rubygems/optparse/COPYING
|
|
399
|
+
lib/rubygems/optparse/lib/optionparser.rb
|
|
400
|
+
lib/rubygems/optparse/lib/optparse.rb
|
|
401
|
+
lib/rubygems/optparse/lib/optparse/ac.rb
|
|
402
|
+
lib/rubygems/optparse/lib/optparse/date.rb
|
|
403
|
+
lib/rubygems/optparse/lib/optparse/kwargs.rb
|
|
404
|
+
lib/rubygems/optparse/lib/optparse/shellwords.rb
|
|
405
|
+
lib/rubygems/optparse/lib/optparse/time.rb
|
|
406
|
+
lib/rubygems/optparse/lib/optparse/uri.rb
|
|
407
|
+
lib/rubygems/optparse/lib/optparse/version.rb
|
|
386
408
|
lib/rubygems/package.rb
|
|
387
409
|
lib/rubygems/package/digest_io.rb
|
|
388
410
|
lib/rubygems/package/file_source.rb
|
|
@@ -431,6 +453,7 @@ lib/rubygems/resolver/local_specification.rb
|
|
|
431
453
|
lib/rubygems/resolver/lock_set.rb
|
|
432
454
|
lib/rubygems/resolver/lock_specification.rb
|
|
433
455
|
lib/rubygems/resolver/molinillo.rb
|
|
456
|
+
lib/rubygems/resolver/molinillo/LICENSE
|
|
434
457
|
lib/rubygems/resolver/molinillo/lib/molinillo.rb
|
|
435
458
|
lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb
|
|
436
459
|
lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb
|
|
@@ -484,6 +507,9 @@ lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem
|
|
|
484
507
|
lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem
|
|
485
508
|
lib/rubygems/stub_specification.rb
|
|
486
509
|
lib/rubygems/text.rb
|
|
510
|
+
lib/rubygems/tsort.rb
|
|
511
|
+
lib/rubygems/tsort/LICENSE.txt
|
|
512
|
+
lib/rubygems/tsort/lib/tsort.rb
|
|
487
513
|
lib/rubygems/uninstaller.rb
|
|
488
514
|
lib/rubygems/uri.rb
|
|
489
515
|
lib/rubygems/uri_formatter.rb
|
|
@@ -539,6 +565,7 @@ test/rubygems/plugin/exception/rubygems_plugin.rb
|
|
|
539
565
|
test/rubygems/plugin/load/rubygems_plugin.rb
|
|
540
566
|
test/rubygems/plugin/standarderror/rubygems_plugin.rb
|
|
541
567
|
test/rubygems/private3072_key.pem
|
|
568
|
+
test/rubygems/private_ec_key.pem
|
|
542
569
|
test/rubygems/private_key.pem
|
|
543
570
|
test/rubygems/public3072_cert.pem
|
|
544
571
|
test/rubygems/public_cert.pem
|
data/bundler/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,54 @@
|
|
|
1
|
+
# 2.2.31 (November 8, 2021)
|
|
2
|
+
|
|
3
|
+
## Enhancements:
|
|
4
|
+
|
|
5
|
+
- Link to working `bundler-graph` plugin in `bundle viz` deprecation message [#5061](https://github.com/rubygems/rubygems/pull/5061)
|
|
6
|
+
- Memoize materialized specs when requiring `bundler/setup` [#5033](https://github.com/rubygems/rubygems/pull/5033)
|
|
7
|
+
- Allow custom LicenseRef [#5013](https://github.com/rubygems/rubygems/pull/5013)
|
|
8
|
+
- Better error when installing a lockfile with git sources and git is not installed [#5036](https://github.com/rubygems/rubygems/pull/5036)
|
|
9
|
+
- Only delete cached gem when it's corrupted [#5031](https://github.com/rubygems/rubygems/pull/5031)
|
|
10
|
+
- Support gemified `tsort` [#5032](https://github.com/rubygems/rubygems/pull/5032)
|
|
11
|
+
- Add standard option alongside rubocop to `bundle gem` [#4411](https://github.com/rubygems/rubygems/pull/4411)
|
|
12
|
+
|
|
13
|
+
## Bug fixes:
|
|
14
|
+
|
|
15
|
+
- Fix system man pages no longer working after bundler overrides `MANPATH` [#5039](https://github.com/rubygems/rubygems/pull/5039)
|
|
16
|
+
- Don't warn when a lockfile is locked to a dev version [#5018](https://github.com/rubygems/rubygems/pull/5018)
|
|
17
|
+
|
|
18
|
+
# 2.2.30 (October 26, 2021)
|
|
19
|
+
|
|
20
|
+
## Enhancements:
|
|
21
|
+
|
|
22
|
+
- Add a custom SHA1 digest implementation to no longer depend on the digest gem before we know which version to activate [#4989](https://github.com/rubygems/rubygems/pull/4989)
|
|
23
|
+
- Ensure vendored gems have licenses [#4998](https://github.com/rubygems/rubygems/pull/4998)
|
|
24
|
+
- Update broken link in Bundler::Fetcher::CertificateFailureError [#4987](https://github.com/rubygems/rubygems/pull/4987)
|
|
25
|
+
- Give better errors for some permission issues [#4965](https://github.com/rubygems/rubygems/pull/4965)
|
|
26
|
+
- Print better errors when `bundler/gem_tasks` fail [#4872](https://github.com/rubygems/rubygems/pull/4872)
|
|
27
|
+
- Fix `bundle install` to reinstall deleted gems [#4974](https://github.com/rubygems/rubygems/pull/4974)
|
|
28
|
+
- Unify issue template and ISSUES.md document [#4980](https://github.com/rubygems/rubygems/pull/4980)
|
|
29
|
+
- Bump vendored connection_pool to 2.2.5 [#4738](https://github.com/rubygems/rubygems/pull/4738)
|
|
30
|
+
|
|
31
|
+
## Bug fixes:
|
|
32
|
+
|
|
33
|
+
- Fix error message pointing to non existing file when using a global gem cache [#4999](https://github.com/rubygems/rubygems/pull/4999)
|
|
34
|
+
- Fix install crash when lockfile has missing dependencies for the current platform [#4941](https://github.com/rubygems/rubygems/pull/4941)
|
|
35
|
+
- Make `bundle info` show a proper warning every time it finds a deleted gem [#4971](https://github.com/rubygems/rubygems/pull/4971)
|
|
36
|
+
|
|
37
|
+
# 2.2.29 (October 8, 2021)
|
|
38
|
+
|
|
39
|
+
## Enhancements:
|
|
40
|
+
|
|
41
|
+
- Require at least Ruby 2.6.0 for gems created with recent rubies [#4920](https://github.com/rubygems/rubygems/pull/4920)
|
|
42
|
+
- Include glob information in string representation of git sources to make generated lockfiles deterministic [#4947](https://github.com/rubygems/rubygems/pull/4947)
|
|
43
|
+
- Add missing `rubygem_push` prerequisite [#4930](https://github.com/rubygems/rubygems/pull/4930)
|
|
44
|
+
|
|
45
|
+
# 2.2.28 (September 23, 2021)
|
|
46
|
+
|
|
47
|
+
## Enhancements:
|
|
48
|
+
|
|
49
|
+
- Use example.com in new gem template, since it will never have a potentially dangerous backing website [#4918](https://github.com/rubygems/rubygems/pull/4918)
|
|
50
|
+
- Deprecate `--install` flag to `bundle remove` and trigger install by default [#4891](https://github.com/rubygems/rubygems/pull/4891)
|
|
51
|
+
|
|
1
52
|
# 2.2.27 (September 3, 2021)
|
|
2
53
|
|
|
3
54
|
## Enhancements:
|
|
@@ -92,7 +143,7 @@
|
|
|
92
143
|
- Fix `bundle doctor` crashing when finding a broken symlink [#4707](https://github.com/rubygems/rubygems/pull/4707)
|
|
93
144
|
- Fix incorrect re-resolve edge case [#4700](https://github.com/rubygems/rubygems/pull/4700)
|
|
94
145
|
- Fix some gems being unintentionally locked under multiple lockfile sections [#4701](https://github.com/rubygems/rubygems/pull/4701)
|
|
95
|
-
- Fix `--conservative` flag unexpectedly updating indirect dependencies [#4692](https://github.com/rubygems/rubygems/pull/4692)
|
|
146
|
+
- Fix `--conservative` flag unexpectedly updating indirect dependencies. NOTE: As part of this bug fix, some undocumented, unintentional code causing `bundle update --source <gem>` to update conservatively was fixed. Use the documented `bundle update --conservative <gem>` instead [#4692](https://github.com/rubygems/rubygems/pull/4692)
|
|
96
147
|
|
|
97
148
|
# 2.2.21 (June 23, 2021)
|
|
98
149
|
|
data/bundler/README.md
CHANGED
|
@@ -32,7 +32,7 @@ See [bundler.io](https://bundler.io) for the full documentation.
|
|
|
32
32
|
|
|
33
33
|
For help with common problems, see [TROUBLESHOOTING](doc/TROUBLESHOOTING.md).
|
|
34
34
|
|
|
35
|
-
Still stuck? Try [filing an issue](
|
|
35
|
+
Still stuck? Try [filing an issue](https://github.com/rubygems/rubygems/issues/new?labels=Bundler&template=bundler-related-issue.md).
|
|
36
36
|
|
|
37
37
|
### Other questions
|
|
38
38
|
|
|
@@ -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-
|
|
8
|
-
@git_commit_sha = "
|
|
7
|
+
@built_at = "2021-11-08".freeze
|
|
8
|
+
@git_commit_sha = "2505ef8972".freeze
|
|
9
9
|
@release = true
|
|
10
10
|
# end ivars
|
|
11
11
|
|
|
@@ -68,7 +68,7 @@ module Bundler
|
|
|
68
68
|
:bundler_version => bundler_dependency_version,
|
|
69
69
|
:git => use_git,
|
|
70
70
|
:github_username => github_username.empty? ? "[USERNAME]" : github_username,
|
|
71
|
-
:required_ruby_version =>
|
|
71
|
+
:required_ruby_version => required_ruby_version,
|
|
72
72
|
}
|
|
73
73
|
ensure_safe_gem_name(name, constant_array)
|
|
74
74
|
|
|
@@ -163,15 +163,16 @@ module Bundler
|
|
|
163
163
|
templates.merge!("CHANGELOG.md.tt" => "CHANGELOG.md")
|
|
164
164
|
end
|
|
165
165
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
"and the Ruby Style Guides (https://github.com/rubocop-hq/ruby-style-guide).")
|
|
171
|
-
config[:rubocop] = true
|
|
172
|
-
config[:rubocop_version] = Gem.ruby_version < Gem::Version.new("2.4.a") ? "0.81.0" : "1.7"
|
|
166
|
+
config[:linter] = ask_and_set_linter
|
|
167
|
+
case config[:linter]
|
|
168
|
+
when "rubocop"
|
|
169
|
+
config[:linter_version] = rubocop_version
|
|
173
170
|
Bundler.ui.info "RuboCop enabled in config"
|
|
174
171
|
templates.merge!("rubocop.yml.tt" => ".rubocop.yml")
|
|
172
|
+
when "standard"
|
|
173
|
+
config[:linter_version] = standard_version
|
|
174
|
+
Bundler.ui.info "Standard enabled in config"
|
|
175
|
+
templates.merge!("standard.yml.tt" => ".standard.yml")
|
|
175
176
|
end
|
|
176
177
|
|
|
177
178
|
templates.merge!("exe/newgem.tt" => "exe/#{name}") if config[:exe]
|
|
@@ -317,6 +318,58 @@ module Bundler
|
|
|
317
318
|
ci_template
|
|
318
319
|
end
|
|
319
320
|
|
|
321
|
+
def ask_and_set_linter
|
|
322
|
+
linter_template = options[:linter] || Bundler.settings["gem.linter"]
|
|
323
|
+
linter_template = deprecated_rubocop_option if linter_template.nil?
|
|
324
|
+
|
|
325
|
+
if linter_template.to_s.empty?
|
|
326
|
+
Bundler.ui.confirm "Do you want to add a code linter and formatter to your gem? " \
|
|
327
|
+
"Supported Linters:\n" \
|
|
328
|
+
"* RuboCop: https://rubocop.org\n" \
|
|
329
|
+
"* Standard: https://github.com/testdouble/standard\n" \
|
|
330
|
+
"\n"
|
|
331
|
+
Bundler.ui.info hint_text("linter")
|
|
332
|
+
|
|
333
|
+
result = Bundler.ui.ask "Enter a linter. rubocop/standard/(none):"
|
|
334
|
+
if result =~ /rubocop|standard/
|
|
335
|
+
linter_template = result
|
|
336
|
+
else
|
|
337
|
+
linter_template = false
|
|
338
|
+
end
|
|
339
|
+
end
|
|
340
|
+
|
|
341
|
+
if Bundler.settings["gem.linter"].nil?
|
|
342
|
+
Bundler.settings.set_global("gem.linter", linter_template)
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
# Once gem.linter safely set, unset the deprecated gem.rubocop
|
|
346
|
+
unless Bundler.settings["gem.rubocop"].nil?
|
|
347
|
+
Bundler.settings.set_global("gem.rubocop", nil)
|
|
348
|
+
end
|
|
349
|
+
|
|
350
|
+
if options[:linter] == Bundler.settings["gem.linter"]
|
|
351
|
+
Bundler.ui.info "#{options[:linter]} is already configured, ignoring --linter flag."
|
|
352
|
+
end
|
|
353
|
+
|
|
354
|
+
linter_template
|
|
355
|
+
end
|
|
356
|
+
|
|
357
|
+
def deprecated_rubocop_option
|
|
358
|
+
if !options[:rubocop].nil?
|
|
359
|
+
if options[:rubocop]
|
|
360
|
+
Bundler::SharedHelpers.major_deprecation 2, "--rubocop is deprecated, use --linter=rubocop"
|
|
361
|
+
"rubocop"
|
|
362
|
+
else
|
|
363
|
+
Bundler::SharedHelpers.major_deprecation 2, "--no-rubocop is deprecated, use --linter"
|
|
364
|
+
false
|
|
365
|
+
end
|
|
366
|
+
elsif !Bundler.settings["gem.rubocop"].nil?
|
|
367
|
+
Bundler::SharedHelpers.major_deprecation 2,
|
|
368
|
+
"config gem.rubocop is deprecated; we've updated your config to use gem.linter instead"
|
|
369
|
+
Bundler.settings["gem.rubocop"] ? "rubocop" : false
|
|
370
|
+
end
|
|
371
|
+
end
|
|
372
|
+
|
|
320
373
|
def bundler_dependency_version
|
|
321
374
|
v = Gem::Version.new(Bundler::VERSION)
|
|
322
375
|
req = v.segments[0..1]
|
|
@@ -350,5 +403,30 @@ module Bundler
|
|
|
350
403
|
def open_editor(editor, file)
|
|
351
404
|
thor.run(%(#{editor} "#{file}"))
|
|
352
405
|
end
|
|
406
|
+
|
|
407
|
+
def required_ruby_version
|
|
408
|
+
if Gem.ruby_version < Gem::Version.new("2.4.a") then "2.3.0"
|
|
409
|
+
elsif Gem.ruby_version < Gem::Version.new("2.5.a") then "2.4.0"
|
|
410
|
+
elsif Gem.ruby_version < Gem::Version.new("2.6.a") then "2.5.0"
|
|
411
|
+
else
|
|
412
|
+
"2.6.0"
|
|
413
|
+
end
|
|
414
|
+
end
|
|
415
|
+
|
|
416
|
+
def rubocop_version
|
|
417
|
+
if Gem.ruby_version < Gem::Version.new("2.4.a") then "0.81.0"
|
|
418
|
+
elsif Gem.ruby_version < Gem::Version.new("2.5.a") then "1.12"
|
|
419
|
+
else
|
|
420
|
+
"1.21"
|
|
421
|
+
end
|
|
422
|
+
end
|
|
423
|
+
|
|
424
|
+
def standard_version
|
|
425
|
+
if Gem.ruby_version < Gem::Version.new("2.4.a") then "0.2.5"
|
|
426
|
+
elsif Gem.ruby_version < Gem::Version.new("2.5.a") then "1.0"
|
|
427
|
+
else
|
|
428
|
+
"1.3"
|
|
429
|
+
end
|
|
430
|
+
end
|
|
353
431
|
end
|
|
354
432
|
end
|
|
@@ -40,12 +40,13 @@ module Bundler
|
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
def print_gem_path(spec)
|
|
43
|
-
|
|
43
|
+
name = spec.name
|
|
44
|
+
if name == "bundler"
|
|
44
45
|
path = File.expand_path("../../../..", __FILE__)
|
|
45
46
|
else
|
|
46
47
|
path = spec.full_gem_path
|
|
47
|
-
|
|
48
|
-
return Bundler.ui.warn "The gem #{
|
|
48
|
+
if spec.deleted_gem?
|
|
49
|
+
return Bundler.ui.warn "The gem #{name} has been deleted. It was installed at: #{path}"
|
|
49
50
|
end
|
|
50
51
|
end
|
|
51
52
|
|
|
@@ -54,8 +55,9 @@ module Bundler
|
|
|
54
55
|
|
|
55
56
|
def print_gem_info(spec)
|
|
56
57
|
metadata = spec.metadata
|
|
58
|
+
name = spec.name
|
|
57
59
|
gem_info = String.new
|
|
58
|
-
gem_info << " * #{
|
|
60
|
+
gem_info << " * #{name} (#{spec.version}#{spec.git_version})\n"
|
|
59
61
|
gem_info << "\tSummary: #{spec.summary}\n" if spec.summary
|
|
60
62
|
gem_info << "\tHomepage: #{spec.homepage}\n" if spec.homepage
|
|
61
63
|
gem_info << "\tDocumentation: #{metadata["documentation_uri"]}\n" if metadata.key?("documentation_uri")
|
|
@@ -67,6 +69,11 @@ module Bundler
|
|
|
67
69
|
gem_info << "\tMailing List: #{metadata["mailing_list_uri"]}\n" if metadata.key?("mailing_list_uri")
|
|
68
70
|
gem_info << "\tPath: #{spec.full_gem_path}\n"
|
|
69
71
|
gem_info << "\tDefault Gem: yes" if spec.respond_to?(:default_gem?) && spec.default_gem?
|
|
72
|
+
|
|
73
|
+
if spec.deleted_gem?
|
|
74
|
+
return Bundler.ui.warn "The gem #{name} has been deleted. Gemspec information is still available though:\n#{gem_info}"
|
|
75
|
+
end
|
|
76
|
+
|
|
70
77
|
Bundler.ui.info gem_info
|
|
71
78
|
end
|
|
72
79
|
end
|
|
@@ -20,9 +20,10 @@ module Bundler
|
|
|
20
20
|
|
|
21
21
|
Hopefully the troubleshooting steps above resolved your problem! If things
|
|
22
22
|
still aren't working the way you expect them to, please let us know so
|
|
23
|
-
that we can diagnose and help fix the problem you're having
|
|
24
|
-
|
|
25
|
-
https://github.com/rubygems/rubygems/
|
|
23
|
+
that we can diagnose and help fix the problem you're having, by filling
|
|
24
|
+
in the new issue form located at
|
|
25
|
+
https://github.com/rubygems/rubygems/issues/new?labels=Bundler&template=bundler-related-issue.md,
|
|
26
|
+
and copy and pasting the information below.
|
|
26
27
|
|
|
27
28
|
EOS
|
|
28
29
|
|
|
@@ -11,8 +11,7 @@ module Bundler
|
|
|
11
11
|
raise InvalidOption, "Please specify gems to remove." if @gems.empty?
|
|
12
12
|
|
|
13
13
|
Injector.remove(@gems, {})
|
|
14
|
-
|
|
15
|
-
Installer.install(Bundler.root, Bundler.definition) if @options["install"]
|
|
14
|
+
Installer.install(Bundler.root, Bundler.definition)
|
|
16
15
|
end
|
|
17
16
|
end
|
|
18
17
|
end
|
data/bundler/lib/bundler/cli.rb
CHANGED
|
@@ -184,6 +184,7 @@ module Bundler
|
|
|
184
184
|
method_option "install", :type => :boolean, :banner =>
|
|
185
185
|
"Runs 'bundle install' after removing the gems from the Gemfile"
|
|
186
186
|
def remove(*gems)
|
|
187
|
+
SharedHelpers.major_deprecation(2, "The `--install` flag has been deprecated. `bundle install` is triggered by default.") if ARGV.include?("--install")
|
|
187
188
|
require_relative "cli/remove"
|
|
188
189
|
Remove.new(gems, options).run
|
|
189
190
|
end
|
|
@@ -551,7 +552,7 @@ module Bundler
|
|
|
551
552
|
method_option :version, :type => :boolean, :default => false, :aliases => "-v", :desc => "Set to show each gem version."
|
|
552
553
|
method_option :without, :type => :array, :default => [], :aliases => "-W", :banner => "GROUP[ GROUP...]", :desc => "Exclude gems that are part of the specified named group."
|
|
553
554
|
def viz
|
|
554
|
-
SharedHelpers.major_deprecation 2, "The `viz` command has been moved to the `bundle-viz` gem, see https://github.com/
|
|
555
|
+
SharedHelpers.major_deprecation 2, "The `viz` command has been moved to the `bundle-viz` gem, see https://github.com/rubygems/bundler-graph"
|
|
555
556
|
require_relative "cli/viz"
|
|
556
557
|
Viz.new(options.dup).run
|
|
557
558
|
end
|
|
@@ -574,6 +575,8 @@ module Bundler
|
|
|
574
575
|
: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)`."
|
|
575
576
|
method_option :ci, :type => :string, :lazy_default => Bundler.settings["gem.ci"] || "",
|
|
576
577
|
:desc => "Generate CI configuration, either GitHub Actions, Travis CI, GitLab CI or CircleCI. Set a default with `bundle config set --global gem.ci (github|travis|gitlab|circle)`"
|
|
578
|
+
method_option :linter, :type => :string, :lazy_default => Bundler.settings["gem.linter"] || "",
|
|
579
|
+
:desc => "Add a linter and code formatter, either RuboCop or Standard. Set a default with `bundle config set --global gem.linter (rubocop|standard)`"
|
|
577
580
|
method_option :github_username, :type => :string, :default => Bundler.settings["gem.github_username"], :banner => "Set your username on GitHub", :desc => "Fill in GitHub username on README so that you don't have to do it manually. Set a default with `bundle config set --global gem.github_username <your_username>`."
|
|
578
581
|
|
|
579
582
|
def gem(name)
|
|
@@ -5,7 +5,7 @@ require "set"
|
|
|
5
5
|
|
|
6
6
|
module Bundler
|
|
7
7
|
class CompactIndexClient
|
|
8
|
-
DEBUG_MUTEX = Mutex.new
|
|
8
|
+
DEBUG_MUTEX = Thread::Mutex.new
|
|
9
9
|
def self.debug
|
|
10
10
|
return unless ENV["DEBUG_COMPACT_INDEX"]
|
|
11
11
|
DEBUG_MUTEX.synchronize { warn("[#{self}] #{yield}") }
|
|
@@ -25,7 +25,7 @@ module Bundler
|
|
|
25
25
|
@endpoints = Set.new
|
|
26
26
|
@info_checksums_by_name = {}
|
|
27
27
|
@parsed_checksums = false
|
|
28
|
-
@mutex = Mutex.new
|
|
28
|
+
@mutex = Thread::Mutex.new
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
def execution_mode=(block)
|
|
@@ -73,7 +73,6 @@ module Bundler
|
|
|
73
73
|
@lockfile_contents = String.new
|
|
74
74
|
@locked_bundler_version = nil
|
|
75
75
|
@locked_ruby_version = nil
|
|
76
|
-
@locked_specs_incomplete_for_platform = false
|
|
77
76
|
@new_platform = nil
|
|
78
77
|
|
|
79
78
|
if lockfile && File.exist?(lockfile)
|
|
@@ -139,6 +138,8 @@ module Bundler
|
|
|
139
138
|
@dependency_changes = converge_dependencies
|
|
140
139
|
@local_changes = converge_locals
|
|
141
140
|
|
|
141
|
+
@locked_specs_incomplete_for_platform = !@locked_specs.for(requested_dependencies & expand_dependencies(locked_dependencies), true, true)
|
|
142
|
+
|
|
142
143
|
@requires = compute_requires
|
|
143
144
|
end
|
|
144
145
|
|
|
@@ -228,17 +229,22 @@ module Bundler
|
|
|
228
229
|
end
|
|
229
230
|
end
|
|
230
231
|
|
|
232
|
+
def locked_dependencies
|
|
233
|
+
@locked_deps.values
|
|
234
|
+
end
|
|
235
|
+
|
|
231
236
|
def specs_for(groups)
|
|
232
|
-
|
|
237
|
+
return specs if groups.empty?
|
|
233
238
|
deps = dependencies_for(groups)
|
|
234
|
-
materialize(
|
|
239
|
+
materialize(deps)
|
|
235
240
|
end
|
|
236
241
|
|
|
237
242
|
def dependencies_for(groups)
|
|
238
243
|
groups.map!(&:to_sym)
|
|
239
|
-
current_dependencies.reject do |d|
|
|
244
|
+
deps = current_dependencies.reject do |d|
|
|
240
245
|
(d.groups & groups).empty?
|
|
241
246
|
end
|
|
247
|
+
expand_dependencies(deps)
|
|
242
248
|
end
|
|
243
249
|
|
|
244
250
|
# Resolve all the dependencies specified in Gemfile. It ensures that
|
|
@@ -367,8 +373,8 @@ module Bundler
|
|
|
367
373
|
new_sources = gemfile_sources - @locked_sources
|
|
368
374
|
deleted_sources = @locked_sources - gemfile_sources
|
|
369
375
|
|
|
370
|
-
new_deps = @dependencies -
|
|
371
|
-
deleted_deps =
|
|
376
|
+
new_deps = @dependencies - locked_dependencies
|
|
377
|
+
deleted_deps = locked_dependencies - @dependencies
|
|
372
378
|
|
|
373
379
|
# Check if it is possible that the source is only changed thing
|
|
374
380
|
if (new_deps.empty? && deleted_deps.empty?) && (!new_sources.empty? && !deleted_sources.empty?)
|
|
@@ -560,7 +566,7 @@ module Bundler
|
|
|
560
566
|
|
|
561
567
|
def dependencies_for_source_changed?(source, locked_source = source)
|
|
562
568
|
deps_for_source = @dependencies.select {|s| s.source == source }
|
|
563
|
-
locked_deps_for_source =
|
|
569
|
+
locked_deps_for_source = locked_dependencies.select {|dep| dep.source == locked_source }
|
|
564
570
|
|
|
565
571
|
deps_for_source.uniq.sort != locked_deps_for_source.sort
|
|
566
572
|
end
|
|
@@ -644,7 +650,7 @@ module Bundler
|
|
|
644
650
|
|
|
645
651
|
def converge_dependencies
|
|
646
652
|
frozen = Bundler.frozen_bundle?
|
|
647
|
-
(@dependencies +
|
|
653
|
+
(@dependencies + locked_dependencies).each do |dep|
|
|
648
654
|
locked_source = @locked_deps[dep.name]
|
|
649
655
|
# This is to make sure that if bundler is installing in deployment mode and
|
|
650
656
|
# after locked_source and sources don't match, we still use locked_source.
|
|
@@ -751,7 +757,6 @@ module Bundler
|
|
|
751
757
|
end
|
|
752
758
|
|
|
753
759
|
resolve = SpecSet.new(converged)
|
|
754
|
-
@locked_specs_incomplete_for_platform = !resolve.for(expand_dependencies(requested_dependencies & deps), true, true)
|
|
755
760
|
resolve = SpecSet.new(resolve.for(expand_dependencies(deps, true), false, false).reject{|s| @unlock[:gems].include?(s.name) })
|
|
756
761
|
diff = nil
|
|
757
762
|
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This code was extracted from https://github.com/Solistra/ruby-digest which is under public domain
|
|
4
|
+
module Bundler
|
|
5
|
+
module Digest
|
|
6
|
+
# The initial constant values for the 32-bit constant words A, B, C, D, and
|
|
7
|
+
# E, respectively.
|
|
8
|
+
SHA1_WORDS = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0].freeze
|
|
9
|
+
|
|
10
|
+
# The 8-bit field used for bitwise `AND` masking. Defaults to `0xFFFFFFFF`.
|
|
11
|
+
SHA1_MASK = 0xFFFFFFFF
|
|
12
|
+
|
|
13
|
+
class << self
|
|
14
|
+
def sha1(string)
|
|
15
|
+
unless string.is_a?(String)
|
|
16
|
+
raise TypeError, "can't convert #{string.class.inspect} into String"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
buffer = string.b
|
|
20
|
+
|
|
21
|
+
words = SHA1_WORDS.dup
|
|
22
|
+
generate_split_buffer(buffer) do |chunk|
|
|
23
|
+
w = []
|
|
24
|
+
chunk.each_slice(4) do |a, b, c, d|
|
|
25
|
+
w << (((a << 8 | b) << 8 | c) << 8 | d)
|
|
26
|
+
end
|
|
27
|
+
a, b, c, d, e = *words
|
|
28
|
+
(16..79).each do |i|
|
|
29
|
+
w[i] = SHA1_MASK & rotate((w[i-3] ^ w[i-8] ^ w[i-14] ^ w[i-16]), 1)
|
|
30
|
+
end
|
|
31
|
+
0.upto(79) do |i|
|
|
32
|
+
case i
|
|
33
|
+
when 0..19
|
|
34
|
+
f = ((b & c) | (~b & d))
|
|
35
|
+
k = 0x5A827999
|
|
36
|
+
when 20..39
|
|
37
|
+
f = (b ^ c ^ d)
|
|
38
|
+
k = 0x6ED9EBA1
|
|
39
|
+
when 40..59
|
|
40
|
+
f = ((b & c) | (b & d) | (c & d))
|
|
41
|
+
k = 0x8F1BBCDC
|
|
42
|
+
when 60..79
|
|
43
|
+
f = (b ^ c ^ d)
|
|
44
|
+
k = 0xCA62C1D6
|
|
45
|
+
end
|
|
46
|
+
t = SHA1_MASK & (SHA1_MASK & rotate(a, 5) + f + e + k + w[i])
|
|
47
|
+
a, b, c, d, e = t, a, SHA1_MASK & rotate(b, 30), c, d # rubocop:disable Style/ParallelAssignment
|
|
48
|
+
end
|
|
49
|
+
mutated = [a, b, c, d, e]
|
|
50
|
+
words.map!.with_index {|word, index| SHA1_MASK & (word + mutated[index]) }
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
words.pack("N*").unpack("H*").first
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
private
|
|
57
|
+
|
|
58
|
+
def generate_split_buffer(string, &block)
|
|
59
|
+
size = string.bytesize * 8
|
|
60
|
+
buffer = string.bytes << 128
|
|
61
|
+
buffer << 0 while buffer.size % 64 != 56
|
|
62
|
+
buffer.concat([size].pack("Q>").bytes)
|
|
63
|
+
buffer.each_slice(64, &block)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def rotate(value, spaces)
|
|
67
|
+
value << spaces | value >> (32 - spaces)
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|