rubygems-update 3.2.32 → 3.2.33

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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +88 -0
  3. data/Manifest.txt +4 -0
  4. data/bundler/CHANGELOG.md +29 -0
  5. data/bundler/lib/bundler/build_metadata.rb +2 -2
  6. data/bundler/lib/bundler/cli/doctor.rb +3 -2
  7. data/bundler/lib/bundler/cli/gem.rb +1 -0
  8. data/bundler/lib/bundler/cli/info.rb +6 -1
  9. data/bundler/lib/bundler/cli/update.rb +2 -2
  10. data/bundler/lib/bundler/cli.rb +1 -0
  11. data/bundler/lib/bundler/compact_index_client/updater.rb +0 -5
  12. data/bundler/lib/bundler/definition.rb +17 -50
  13. data/bundler/lib/bundler/dsl.rb +18 -3
  14. data/bundler/lib/bundler/environment_preserver.rb +4 -1
  15. data/bundler/lib/bundler/lazy_specification.rb +17 -1
  16. data/bundler/lib/bundler/man/bundle-add.1 +1 -1
  17. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  18. data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
  19. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  20. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  21. data/bundler/lib/bundler/man/bundle-config.1 +1 -1
  22. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  23. data/bundler/lib/bundler/man/bundle-exec.1 +1 -1
  24. data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
  25. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  26. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  27. data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
  28. data/bundler/lib/bundler/man/bundle-install.1 +1 -1
  29. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  30. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  31. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  32. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  33. data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
  34. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  35. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  36. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  37. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  38. data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
  39. data/bundler/lib/bundler/man/bundle.1 +1 -1
  40. data/bundler/lib/bundler/man/gemfile.5 +27 -1
  41. data/bundler/lib/bundler/man/gemfile.5.ronn +8 -0
  42. data/bundler/lib/bundler/plugin/api/source.rb +1 -0
  43. data/bundler/lib/bundler/resolver.rb +2 -4
  44. data/bundler/lib/bundler/shared_helpers.rb +2 -3
  45. data/bundler/lib/bundler/source/git/git_proxy.rb +2 -2
  46. data/bundler/lib/bundler/source/rubygems.rb +16 -12
  47. data/bundler/lib/bundler/source/rubygems_aggregate.rb +1 -1
  48. data/bundler/lib/bundler/source.rb +1 -1
  49. data/bundler/lib/bundler/source_list.rb +7 -29
  50. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +2 -2
  51. data/bundler/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  52. data/bundler/lib/bundler/vendor/.document +1 -0
  53. data/bundler/lib/bundler/version.rb +1 -1
  54. data/lib/rubygems/command_manager.rb +3 -1
  55. data/lib/rubygems/commands/pristine_command.rb +8 -2
  56. data/lib/rubygems/commands/setup_command.rb +17 -6
  57. data/lib/rubygems/exceptions.rb +1 -0
  58. data/lib/rubygems/installer.rb +3 -11
  59. data/lib/rubygems/optparse/.document +1 -0
  60. data/lib/rubygems/specification.rb +9 -5
  61. data/lib/rubygems/tsort/.document +1 -0
  62. data/lib/rubygems.rb +5 -5
  63. data/rubygems-update.gemspec +1 -1
  64. data/test/rubygems/test_gem_command_manager.rb +12 -0
  65. data/test/rubygems/test_gem_commands_setup_command.rb +17 -0
  66. data/test/rubygems/test_gem_installer.rb +37 -5
  67. data/test/rubygems/test_require.rb +4 -26
  68. metadata +7 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87e453bd13f69a120fdadd84b3a57e16527b54f7283a5077d742eb218b634bfa
4
- data.tar.gz: ce3cfe1c1c8a515e4904fdcddae871c2012b374aea224ce66ffdd92dfd007d8f
3
+ metadata.gz: c0ad3f54099eb51ea11d57eb8da10dd84729d075b26073b687ed49f7e7f8b018
4
+ data.tar.gz: fa02cdd3863c8ead6ebc2594f6e7c4b0065a8dff28eb9412cf16c18e5e38e05e
5
5
  SHA512:
6
- metadata.gz: 57fe0ccc4919643d63c6bf2016458924af17d3ec8aab9ddca552781aceebe44bfc8ac350a20e8323265ef6d3e943c4399bf0ccd280cdc000fbe4be9acdfa1a0a
7
- data.tar.gz: c354269b3a4e084d76ada0c3547cf2890aaa989554a4011f51654cea114677ccf76c5944ea669c93b9ad7dc09d9b533d51ade69f96f167aadd372311bc208bac
6
+ metadata.gz: 5416de9788161fd52b5619e8579134cc6abf4431819d23e56f06ae1b0fd5e511db5fb042b67824dc7a257403ab982528f52e39895f9f56d69472f86827d1a756
7
+ data.tar.gz: 61d7407de87425e910d2dd2282dfb1de6b6ed472aac1cb5059387c946bdd3564c4bc65d3d6d8d07587010185bbd06679cb1d77e718672ee0de3be6a813f00b7b
data/CHANGELOG.md CHANGED
@@ -1,3 +1,29 @@
1
+ # 3.2.33 / 2021-12-07
2
+
3
+ ## Deprecations:
4
+
5
+ * Deprecate typo name. Pull request #5109 by nobu
6
+
7
+ ## Enhancements:
8
+
9
+ * Add login & logout alias for the signin & signout commands. Pull request
10
+ #5133 by colby-swandale
11
+ * Fix race conditions when reading & writing gemspecs concurrently. Pull
12
+ request #4408 by deivid-rodriguez
13
+ * Installs bundler 2.2.33 as a default gem.
14
+
15
+ ## Bug fixes:
16
+
17
+ * Fix `ruby setup.rb` trying to write outside of `--destdir`. Pull request
18
+ #5053 by deivid-rodriguez
19
+
20
+ ## Documentation:
21
+
22
+ * Move required_ruby_version gemspec attribute to recommended section.
23
+ Pull request #5130 by simi
24
+ * Ignore to generate the documentation from vendored libraries. Pull
25
+ request #5118 by hsbt
26
+
1
27
  # 3.2.32 / 2021-11-23
2
28
 
3
29
  ## Enhancements:
@@ -20,6 +46,7 @@
20
46
  deivid-rodriguez
21
47
  * Use a vendored copy of `tsort` internally. Pull request #5027 by
22
48
  deivid-rodriguez
49
+ * Install bundler 2.2.31 as a default gem.
23
50
 
24
51
  ## Bug fixes:
25
52
 
@@ -40,6 +67,7 @@
40
67
  by deivid-rodriguez
41
68
  * Add missing `require` of `time` within
42
69
  `Gem::Request.verify_certificate_message`. Pull request #4975 by nobu
70
+ * Install bundler 2.2.30 as a default gem.
43
71
 
44
72
  ## Performance:
45
73
 
@@ -52,6 +80,7 @@
52
80
 
53
81
  * Only disallow FIXME/TODO for first word of gemspec description. Pull
54
82
  request #4937 by duckinator
83
+ * Install bundler 2.2.29 as a default gem.
55
84
 
56
85
  ## Bug fixes:
57
86
 
@@ -72,6 +101,7 @@
72
101
  by duckinator
73
102
  * Avoid loading `uri` unnecessarily when activating gems. Pull request
74
103
  #4897 by deivid-rodriguez
104
+ * Install bundler 2.2.28 as a default gem.
75
105
 
76
106
  ## Bug fixes:
77
107
 
@@ -87,6 +117,7 @@
87
117
  request #4858 by deivid-rodriguez
88
118
  * Prioritise gems with higher version for fetching metadata, and stop
89
119
  fetching once we find a valid candidate. Pull request #4843 by intuxicated
120
+ * Install bundler 2.2.27 as a default gem.
90
121
 
91
122
  # 3.2.26 / 2021-08-17
92
123
 
@@ -97,6 +128,7 @@
97
128
  intuxicated
98
129
  * Ignore `RUBYGEMS_GEMDEPS` for the bundler gem. Pull request #4532 by
99
130
  deivid-rodriguez
131
+ * Install bundler 2.2.26 as a default gem.
100
132
 
101
133
  ## Bug fixes:
102
134
 
@@ -114,6 +146,7 @@
114
146
  * Lazily load `shellwords` library. Pull request #4783 by deivid-rodriguez
115
147
  * Check requirements class before loading marshalled requirements. Pull
116
148
  request #4651 by nobu
149
+ * Install bundler 2.2.25 as a default gem.
117
150
 
118
151
  ## Bug fixes:
119
152
 
@@ -122,6 +155,10 @@
122
155
 
123
156
  # 3.2.24 / 2021-07-15
124
157
 
158
+ ## Enhancements:
159
+
160
+ * Install bundler 2.2.24 as a default gem.
161
+
125
162
  ## Bug fixes:
126
163
 
127
164
  * Fix contradictory message about deletion of default gem. Pull request
@@ -138,6 +175,7 @@
138
175
 
139
176
  * Rewind IO source to allow working with contents in memory. Pull request
140
177
  #4729 by drcapulet
178
+ * Install bundler 2.2.23 as a default gem.
141
179
 
142
180
  # 3.2.22 / 2021-07-06
143
181
 
@@ -147,6 +185,7 @@
147
185
  CGA1123
148
186
  * Fixes for the edge case when openssl library is missing. Pull request
149
187
  #4695 by rhenium
188
+ * Install bundler 2.2.22 as a default gem.
150
189
 
151
190
  # 3.2.21 / 2021-06-23
152
191
 
@@ -156,6 +195,7 @@
156
195
  * Add the most recent licenses from spdx.org. Pull request #4662 by nobu
157
196
  * Simplify setup.rb code to allow installing rubygems from source on
158
197
  truffleruby 21.0 and 21.1. Pull request #4624 by deivid-rodriguez
198
+ * Install bundler 2.2.21 as a default gem.
159
199
 
160
200
  ## Bug fixes:
161
201
 
@@ -173,12 +213,14 @@
173
213
 
174
214
  * Add better specification policy error description. Pull request #4658 by
175
215
  ceritium
216
+ * Install bundler 2.2.20 as a default gem.
176
217
 
177
218
  # 3.2.19 / 2021-05-31
178
219
 
179
220
  ## Enhancements:
180
221
 
181
222
  * Fix `gem help build` output format. Pull request #4613 by tnir
223
+ * Install bundler 2.2.19 as a default gem.
182
224
 
183
225
  # 3.2.18 / 2021-05-25
184
226
 
@@ -186,6 +228,7 @@
186
228
 
187
229
  * Don't leave temporary directory around when building extensions to
188
230
  improve build reproducibility. Pull request #4610 by baloo
231
+ * Install bundler 2.2.18 as a default gem.
189
232
 
190
233
  # 3.2.17 / 2021-05-05
191
234
 
@@ -197,6 +240,7 @@
197
240
  #4558 by mame
198
241
  * Update the default bindir on macOS. Pull request #4524 by nobu
199
242
  * Prefer File.open instead of Kernel#open. Pull request #4529 by mame
243
+ * Install bundler 2.2.17 as a default gem.
200
244
 
201
245
  ## Documentation:
202
246
 
@@ -205,6 +249,10 @@
205
249
 
206
250
  # 3.2.16 / 2021-04-08
207
251
 
252
+ ## Enhancements:
253
+
254
+ * Install bundler 2.2.16 as a default gem.
255
+
208
256
  ## Bug fixes:
209
257
 
210
258
  * Correctly handle symlinks. Pull request #2836 by voxik
@@ -215,6 +263,7 @@
215
263
 
216
264
  * Prevent downgrades to untested rubygems versions. Pull request #4460 by
217
265
  deivid-rodriguez
266
+ * Install bundler 2.2.15 as a default gem.
218
267
 
219
268
  ## Bug fixes:
220
269
 
@@ -225,6 +274,7 @@
225
274
  ## Enhancements:
226
275
 
227
276
  * Less wrapping of network errors. Pull request #4064 by deivid-rodriguez
277
+ * Install bundler 2.2.14 as a default gem.
228
278
 
229
279
  ## Bug fixes:
230
280
 
@@ -233,12 +283,20 @@
233
283
 
234
284
  # 3.2.13 / 2021-03-03
235
285
 
286
+ ## Enhancements:
287
+
288
+ * Install bundler 2.2.13 as a default gem.
289
+
236
290
  ## Bug fixes:
237
291
 
238
292
  * Support non-gnu libc linux platforms. Pull request #4082 by lloeki
239
293
 
240
294
  # 3.2.12 / 2021-03-01
241
295
 
296
+ ## Enhancements:
297
+
298
+ * Install bundler 2.2.12 as a default gem.
299
+
242
300
  ## Bug fixes:
243
301
 
244
302
  * Restore the ability to manually install extension gems. Pull request
@@ -250,9 +308,14 @@
250
308
 
251
309
  * Optionally fallback to IPv4 when IPv6 is unreachable. Pull request #2662
252
310
  by sonalkr132
311
+ * Install bundler 2.2.11 as a default gem.
253
312
 
254
313
  # 3.2.10 / 2021-02-15
255
314
 
315
+ ## Enhancements:
316
+
317
+ * Install bundler 2.2.10 as a default gem.
318
+
256
319
  ## Documentation:
257
320
 
258
321
  * Add a `gem push` example to `gem help`. Pull request #4373 by
@@ -262,6 +325,10 @@
262
325
 
263
326
  # 3.2.9 / 2021-02-08
264
327
 
328
+ ## Enhancements:
329
+
330
+ * Install bundler 2.2.9 as a default gem.
331
+
265
332
  ## Bug fixes:
266
333
 
267
334
  * Fix error message when underscore selection can't find bundler. Pull
@@ -275,6 +342,10 @@
275
342
 
276
343
  # 3.2.8 / 2021-02-02
277
344
 
345
+ ## Enhancements:
346
+
347
+ * Install bundler 2.2.8 as a default gem.
348
+
278
349
  ## Bug fixes:
279
350
 
280
351
  * Fix `gem install` crashing on gemspec with nil required_ruby_version.
@@ -282,6 +353,10 @@
282
353
 
283
354
  # 3.2.7 / 2021-01-26
284
355
 
356
+ ## Enhancements:
357
+
358
+ * Install bundler 2.2.7 as a default gem.
359
+
285
360
  ## Bug fixes:
286
361
 
287
362
  * Generate plugin wrappers with relative requires. Pull request #4317 by
@@ -293,6 +368,7 @@
293
368
 
294
369
  * Fix `Gem::Platform#inspect` showing duplicate information. Pull request
295
370
  #4276 by deivid-rodriguez
371
+ * Install bundler 2.2.6 as a default gem.
296
372
 
297
373
  ## Bug fixes:
298
374
 
@@ -303,6 +379,10 @@
303
379
 
304
380
  # 3.2.5 / 2021-01-11
305
381
 
382
+ ## Enhancements:
383
+
384
+ * Install bundler 2.2.5 as a default gem.
385
+
306
386
  ## Bug fixes:
307
387
 
308
388
  * Don't load more specs after the whole set of specs has been setup. Pull
@@ -318,6 +398,7 @@
318
398
  deivid-rodriguez
319
399
  * Never spawn subshells when building extensions. Pull request #4190 by
320
400
  deivid-rodriguez
401
+ * Install bundler 2.2.4 as a default gem.
321
402
 
322
403
  ## Bug fixes:
323
404
 
@@ -331,6 +412,7 @@
331
412
  ## Enhancements:
332
413
 
333
414
  * Fix misspellings in default API key name. Pull request #4177 by hsbt
415
+ * Install bundler 2.2.3 as a default gem.
334
416
 
335
417
  ## Bug fixes:
336
418
 
@@ -340,6 +422,10 @@
340
422
 
341
423
  # 3.2.2 / 2020-12-17
342
424
 
425
+ ## Enhancements:
426
+
427
+ * Install bundler 2.2.2 as a default gem.
428
+
343
429
  ## Bug fixes:
344
430
 
345
431
  * Fix issue where CLI commands making more than one request to
@@ -356,6 +442,7 @@
356
442
 
357
443
  * Added help message for gem i webrick in gem server command. Pull request
358
444
  #4117 by hsbt
445
+ * Install bundler 2.2.1 as a default gem.
359
446
 
360
447
  ## Bug fixes:
361
448
 
@@ -384,6 +471,7 @@
384
471
  * Lazily load `openssl`. Pull request #3850 by deivid-rodriguez
385
472
  * Pass more information when comparing platforms. Pull request #3817 by
386
473
  eregon
474
+ * Install bundler 2.2.0 as a default gem.
387
475
 
388
476
  ## Bug fixes:
389
477
 
data/Manifest.txt CHANGED
@@ -212,6 +212,7 @@ bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt
212
212
  bundler/lib/bundler/templates/newgem/newgem.gemspec.tt
213
213
  bundler/lib/bundler/templates/newgem/rspec.tt
214
214
  bundler/lib/bundler/templates/newgem/rubocop.yml.tt
215
+ bundler/lib/bundler/templates/newgem/sig/newgem.rbs.tt
215
216
  bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt
216
217
  bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt
217
218
  bundler/lib/bundler/templates/newgem/standard.yml.tt
@@ -225,6 +226,7 @@ bundler/lib/bundler/ui/rg_proxy.rb
225
226
  bundler/lib/bundler/ui/shell.rb
226
227
  bundler/lib/bundler/ui/silent.rb
227
228
  bundler/lib/bundler/uri_credentials_filter.rb
229
+ bundler/lib/bundler/vendor/.document
228
230
  bundler/lib/bundler/vendor/connection_pool/LICENSE
229
231
  bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb
230
232
  bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb
@@ -395,6 +397,7 @@ lib/rubygems/mock_gem_ui.rb
395
397
  lib/rubygems/name_tuple.rb
396
398
  lib/rubygems/openssl.rb
397
399
  lib/rubygems/optparse.rb
400
+ lib/rubygems/optparse/.document
398
401
  lib/rubygems/optparse/COPYING
399
402
  lib/rubygems/optparse/lib/optionparser.rb
400
403
  lib/rubygems/optparse/lib/optparse.rb
@@ -508,6 +511,7 @@ lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem
508
511
  lib/rubygems/stub_specification.rb
509
512
  lib/rubygems/text.rb
510
513
  lib/rubygems/tsort.rb
514
+ lib/rubygems/tsort/.document
511
515
  lib/rubygems/tsort/LICENSE.txt
512
516
  lib/rubygems/tsort/lib/tsort.rb
513
517
  lib/rubygems/uninstaller.rb
data/bundler/CHANGELOG.md CHANGED
@@ -1,3 +1,32 @@
1
+ # 2.2.33 (December 7, 2021)
2
+
3
+ ## Security fixes:
4
+
5
+ - Pass "--" to git commands to separate positional and optional args [#5142](https://github.com/rubygems/rubygems/pull/5142)
6
+
7
+ ## Enhancements:
8
+
9
+ - Accept pull request URLs as github source [#5126](https://github.com/rubygems/rubygems/pull/5126)
10
+ - Add `--version` parameter to `bundle info` command [#5137](https://github.com/rubygems/rubygems/pull/5137)
11
+ - Let original `Errno::EACCES` error be raised in compact index updater [#5110](https://github.com/rubygems/rubygems/pull/5110)
12
+ - Improve gemfile-lockfile source equivalence errors [#5120](https://github.com/rubygems/rubygems/pull/5120)
13
+ - Avoid float-to-string loss of characters in GitHub Actions configuration labels in new gem template [#5089](https://github.com/rubygems/rubygems/pull/5089)
14
+ - Add an initial rbs template to `bundle gem` skeleton [#5041](https://github.com/rubygems/rubygems/pull/5041)
15
+ - Avoid shared libraries not getting environment passed right after argv in memory when `bundle exec` is used [#4815](https://github.com/rubygems/rubygems/pull/4815)
16
+
17
+ ## Bug fixes:
18
+
19
+ - Don't cleanup paths from gems already activated from `$LOAD_PATH` [#5111](https://github.com/rubygems/rubygems/pull/5111)
20
+ - Fix handling prereleases of 0 versions, like 0.0.0.dev or 0.0.0.SNAPSHOT [#5116](https://github.com/rubygems/rubygems/pull/5116)
21
+ - Fix escape of filenames in `bundle doctor` [#5102](https://github.com/rubygems/rubygems/pull/5102)
22
+ - Don't unlock dependencies when running `bundle install` after changing global source [#5090](https://github.com/rubygems/rubygems/pull/5090)
23
+ - Fix missing locked specs when depended on another platform [#5092](https://github.com/rubygems/rubygems/pull/5092)
24
+ - Fix `bundle info` sometimes claiming that bundler has been deleted [#5097](https://github.com/rubygems/rubygems/pull/5097)
25
+
26
+ ## Documentation:
27
+
28
+ - Ignore to generate the documentation from vendored libraries [#5118](https://github.com/rubygems/rubygems/pull/5118)
29
+
1
30
  # 2.2.32 (November 23, 2021)
2
31
 
3
32
  ## Enhancements:
@@ -4,8 +4,8 @@ module Bundler
4
4
  # Represents metadata from when the Bundler gem was built.
5
5
  module BuildMetadata
6
6
  # begin ivars
7
- @built_at = "2021-11-23".freeze
8
- @git_commit_sha = "20d4957649".freeze
7
+ @built_at = "2021-12-07".freeze
8
+ @git_commit_sha = "9b5e2a350b".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "rbconfig"
4
+ require "shellwords"
4
5
 
5
6
  module Bundler
6
7
  class CLI::Doctor
@@ -22,14 +23,14 @@ module Bundler
22
23
  end
23
24
 
24
25
  def dylibs_darwin(path)
25
- output = `/usr/bin/otool -L "#{path}"`.chomp
26
+ output = `/usr/bin/otool -L #{path.shellescape}`.chomp
26
27
  dylibs = output.split("\n")[1..-1].map {|l| l.match(DARWIN_REGEX).captures[0] }.uniq
27
28
  # ignore @rpath and friends
28
29
  dylibs.reject {|dylib| dylib.start_with? "@" }
29
30
  end
30
31
 
31
32
  def dylibs_ldd(path)
32
- output = `/usr/bin/ldd "#{path}"`.chomp
33
+ output = `/usr/bin/ldd #{path.shellescape}`.chomp
33
34
  output.split("\n").map do |l|
34
35
  match = l.match(LDD_REGEX)
35
36
  next if match.nil?
@@ -76,6 +76,7 @@ module Bundler
76
76
  "#{Bundler.preferred_gemfile_name}.tt" => Bundler.preferred_gemfile_name,
77
77
  "lib/newgem.rb.tt" => "lib/#{namespaced_path}.rb",
78
78
  "lib/newgem/version.rb.tt" => "lib/#{namespaced_path}/version.rb",
79
+ "sig/newgem.rbs.tt" => "sig/#{namespaced_path}.rbs",
79
80
  "newgem.gemspec.tt" => "#{name}.gemspec",
80
81
  "Rakefile.tt" => "Rakefile",
81
82
  "README.md.tt" => "README.md",
@@ -18,6 +18,7 @@ module Bundler
18
18
 
19
19
  if spec
20
20
  return print_gem_path(spec) if @options[:path]
21
+ return print_gem_version(spec) if @options[:version]
21
22
  print_gem_info(spec)
22
23
  end
23
24
  end
@@ -39,6 +40,10 @@ module Bundler
39
40
  raise GemNotFound, Bundler::CLI::Common.gem_not_found_message(gem_name, Bundler.definition.dependencies)
40
41
  end
41
42
 
43
+ def print_gem_version(spec)
44
+ Bundler.ui.info spec.version.to_s
45
+ end
46
+
42
47
  def print_gem_path(spec)
43
48
  name = spec.name
44
49
  if name == "bundler"
@@ -70,7 +75,7 @@ module Bundler
70
75
  gem_info << "\tPath: #{spec.full_gem_path}\n"
71
76
  gem_info << "\tDefault Gem: yes" if spec.respond_to?(:default_gem?) && spec.default_gem?
72
77
 
73
- if spec.deleted_gem?
78
+ if name != "bundler" && spec.deleted_gem?
74
79
  return Bundler.ui.warn "The gem #{name} has been deleted. Gemspec information is still available though:\n#{gem_info}"
75
80
  end
76
81
 
@@ -66,7 +66,7 @@ module Bundler
66
66
 
67
67
  if locked_gems = Bundler.definition.locked_gems
68
68
  previous_locked_info = locked_gems.specs.reduce({}) do |h, s|
69
- h[s.name] = { :spec => s, :version => s.version, :source => s.source.to_s }
69
+ h[s.name] = { :spec => s, :version => s.version, :source => s.source.identifier }
70
70
  h
71
71
  end
72
72
  end
@@ -95,7 +95,7 @@ module Bundler
95
95
  end
96
96
 
97
97
  locked_source = locked_info[:source]
98
- new_source = new_spec.source.to_s
98
+ new_source = new_spec.source.identifier
99
99
  next if locked_source != new_source
100
100
 
101
101
  new_version = new_spec.version
@@ -331,6 +331,7 @@ module Bundler
331
331
 
332
332
  desc "info GEM [OPTIONS]", "Show information for the given gem"
333
333
  method_option "path", :type => :boolean, :banner => "Print full path to gem"
334
+ method_option "version", :type => :boolean, :banner => "Print gem version"
334
335
  def info(gem_name)
335
336
  require_relative "cli/info"
336
337
  Info.new(options, gem_name).run
@@ -76,11 +76,6 @@ module Bundler
76
76
 
77
77
  update(local_path, remote_path, :retrying)
78
78
  end
79
- rescue Errno::EACCES
80
- raise Bundler::PermissionError,
81
- "Bundler does not have write access to create a temp directory " \
82
- "within #{Dir.tmpdir}. Bundler must have write access to your " \
83
- "systems temp directory to function properly. "
84
79
  rescue Zlib::GzipFile::Error
85
80
  raise Bundler::HTTPError
86
81
  end
@@ -158,10 +158,6 @@ module Bundler
158
158
  end
159
159
  end
160
160
 
161
- def multisource_allowed?
162
- @multisource_allowed
163
- end
164
-
165
161
  def resolve_only_locally!
166
162
  @remote = false
167
163
  sources.local_only!
@@ -368,44 +364,26 @@ module Bundler
368
364
  added.concat new_platforms.map {|p| "* platform: #{p}" }
369
365
  deleted.concat deleted_platforms.map {|p| "* platform: #{p}" }
370
366
 
371
- gemfile_sources = sources.lock_sources
372
-
373
- new_sources = gemfile_sources - @locked_sources
374
- deleted_sources = @locked_sources - gemfile_sources
375
-
376
367
  new_deps = @dependencies - locked_dependencies
377
368
  deleted_deps = locked_dependencies - @dependencies
378
369
 
379
- # Check if it is possible that the source is only changed thing
380
- if (new_deps.empty? && deleted_deps.empty?) && (!new_sources.empty? && !deleted_sources.empty?)
381
- new_sources.reject! {|source| (source.path? && source.path.exist?) || equivalent_rubygems_remotes?(source) }
382
- deleted_sources.reject! {|source| (source.path? && source.path.exist?) || equivalent_rubygems_remotes?(source) }
383
- end
384
-
385
- if @locked_sources != gemfile_sources
386
- if new_sources.any?
387
- added.concat new_sources.map {|source| "* source: #{source}" }
388
- end
389
-
390
- if deleted_sources.any?
391
- deleted.concat deleted_sources.map {|source| "* source: #{source}" }
392
- end
393
- end
394
-
395
370
  added.concat new_deps.map {|d| "* #{pretty_dep(d)}" } if new_deps.any?
396
- if deleted_deps.any?
397
- deleted.concat deleted_deps.map {|d| "* #{pretty_dep(d)}" }
398
- end
371
+ deleted.concat deleted_deps.map {|d| "* #{pretty_dep(d)}" } if deleted_deps.any?
399
372
 
400
373
  both_sources = Hash.new {|h, k| h[k] = [] }
401
374
  @dependencies.each {|d| both_sources[d.name][0] = d }
402
- @locked_deps.each {|name, d| both_sources[name][1] = d.source }
375
+ locked_dependencies.each {|d| both_sources[d.name][1] = d }
403
376
 
404
- both_sources.each do |name, (dep, lock_source)|
405
- next if lock_source.nil? || (dep && lock_source.can_lock?(dep))
406
- gemfile_source_name = (dep && dep.source) || "no specified source"
407
- lockfile_source_name = lock_source
408
- changed << "* #{name} from `#{gemfile_source_name}` to `#{lockfile_source_name}`"
377
+ both_sources.each do |name, (dep, lock_dep)|
378
+ next if dep.nil? || lock_dep.nil?
379
+
380
+ gemfile_source = dep.source || sources.default_source
381
+ lock_source = lock_dep.source || sources.default_source
382
+ next if lock_source.include?(gemfile_source)
383
+
384
+ gemfile_source_name = dep.source ? gemfile_source.identifier : "no specified source"
385
+ lockfile_source_name = lock_dep.source ? lock_source.identifier : "no specified source"
386
+ changed << "* #{name} from `#{lockfile_source_name}` to `#{gemfile_source_name}`"
409
387
  end
410
388
 
411
389
  reason = change_reason
@@ -649,15 +627,13 @@ module Bundler
649
627
  end
650
628
 
651
629
  def converge_dependencies
652
- (@dependencies + locked_dependencies).each do |dep|
630
+ changes = false
631
+
632
+ @dependencies.each do |dep|
653
633
  if dep.source
654
634
  dep.source = sources.get(dep.source)
655
635
  end
656
- end
657
636
 
658
- changes = false
659
-
660
- @dependencies.each do |dep|
661
637
  unless locked_dep = @locked_deps[dep.name]
662
638
  changes = true
663
639
  next
@@ -711,11 +687,8 @@ module Bundler
711
687
  deps << dep
712
688
  end
713
689
 
714
- s.source = (dep && dep.source) || sources.get(s.source) unless multisource_allowed?
690
+ s.source = (dep && dep.source) || sources.get(s.source) || sources.default_source unless Bundler.frozen_bundle?
715
691
 
716
- # Don't add a spec to the list if its source is expired. For example,
717
- # if you change a Git gem to RubyGems.
718
- next if s.source.nil?
719
692
  next if @unlock[:sources].include?(s.source.name)
720
693
 
721
694
  # If the spec is from a path source and it doesn't exist anymore
@@ -744,7 +717,7 @@ module Bundler
744
717
  s.dependencies.replace(new_spec.dependencies)
745
718
  end
746
719
 
747
- if dep.nil? && @dependencies.find {|d| s.name == d.name }
720
+ if dep.nil? && requested_dependencies.find {|d| s.name == d.name }
748
721
  @unlock[:gems] << s.name
749
722
  else
750
723
  converged << s
@@ -852,12 +825,6 @@ module Bundler
852
825
  end
853
826
  end
854
827
 
855
- def equivalent_rubygems_remotes?(source)
856
- return false unless source.is_a?(Source::Rubygems)
857
-
858
- Bundler.settings[:allow_deployment_source_credential_changes] && source.equivalent_remotes?(sources.rubygems_remotes)
859
- end
860
-
861
828
  def source_map
862
829
  @source_map ||= SourceMap.new(sources, dependencies)
863
830
  end
@@ -18,6 +18,8 @@ module Bundler
18
18
  VALID_KEYS = %w[group groups git path glob name branch ref tag require submodules
19
19
  platform platforms type source install_if gemfile].freeze
20
20
 
21
+ GITHUB_PULL_REQUEST_URL = %r{\Ahttps://github\.com/([A-Za-z0-9_\-\.]+/[A-Za-z0-9_\-\.]+)/pull/(\d+)\z}.freeze
22
+
21
23
  attr_reader :gemspecs
22
24
  attr_accessor :dependencies
23
25
 
@@ -278,8 +280,17 @@ module Bundler
278
280
  warn_deprecated_git_source(:github, <<-'RUBY'.strip, 'Change any "reponame" :github sources to "username/reponame".')
279
281
  "https://github.com/#{repo_name}.git"
280
282
  RUBY
281
- repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
282
- "https://github.com/#{repo_name}.git"
283
+ if repo_name =~ GITHUB_PULL_REQUEST_URL
284
+ {
285
+ "git" => "https://github.com/#{$1}.git",
286
+ "branch" => "refs/pull/#{$2}/head",
287
+ "ref" => nil,
288
+ "tag" => nil,
289
+ }
290
+ else
291
+ repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
292
+ "https://github.com/#{repo_name}.git"
293
+ end
283
294
  end
284
295
 
285
296
  git_source(:gist) do |repo_name|
@@ -365,7 +376,11 @@ repo_name ||= user_name
365
376
 
366
377
  git_name = (git_names & opts.keys).last
367
378
  if @git_sources[git_name]
368
- opts["git"] = @git_sources[git_name].call(opts[git_name])
379
+ git_opts = @git_sources[git_name].call(opts[git_name])
380
+ git_opts = { "git" => git_opts } if git_opts.is_a?(String)
381
+ opts.merge!(git_opts) do |key, _gemfile_value, _git_source_value|
382
+ raise GemfileError, %(The :#{key} option can't be used with `#{git_name}: #{opts[git_name].inspect}`)
383
+ end
369
384
  end
370
385
 
371
386
  %w[git path].each do |type|
@@ -38,7 +38,10 @@ module Bundler
38
38
 
39
39
  # Replaces `ENV` with the bundler environment variables backed up
40
40
  def replace_with_backup
41
- ENV.replace(backup) unless Gem.win_platform?
41
+ unless Gem.win_platform?
42
+ ENV.replace(backup)
43
+ return
44
+ end
42
45
 
43
46
  # Fallback logic for Windows below to workaround
44
47
  # https://bugs.ruby-lang.org/issues/16798. Can be dropped once all