rubygems-update 3.2.32 → 3.2.33

Sign up to get free protection for your applications and to get access to all the features.
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