rubygems-update 3.2.0 → 3.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.txt +67 -91
- data/POLICIES.md +4 -3
- data/Rakefile +17 -3
- data/bundler/CHANGELOG.md +26 -18
- data/bundler/lib/bundler.rb +11 -1
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli.rb +1 -1
- data/bundler/lib/bundler/cli/outdated.rb +2 -2
- data/bundler/lib/bundler/definition.rb +6 -15
- data/bundler/lib/bundler/dependency.rb +3 -1
- data/bundler/lib/bundler/lazy_specification.rb +15 -1
- data/bundler/lib/bundler/resolver.rb +22 -27
- data/bundler/lib/bundler/resolver/spec_group.rb +5 -9
- data/bundler/lib/bundler/rubygems_integration.rb +0 -1
- data/bundler/lib/bundler/stub_specification.rb +0 -2
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +8 -1
- data/bundler/lib/bundler/version.rb +1 -1
- data/lib/rubygems.rb +1 -1
- data/lib/rubygems/resolver/api_set.rb +1 -1
- data/lib/rubygems/server.rb +6 -1
- data/lib/rubygems/source.rb +1 -0
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/test_gem_resolver_api_set.rb +29 -0
- metadata +22 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4528e626d1fed9c0dcbc5c43bd3145e3fe11ad95331342b6d73d48e7d1173e42
|
4
|
+
data.tar.gz: bfb5d478718b397bb6b355571bc3349db1c8e2cded98ea5889f70a3a0fe3ca32
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5692fa6e596bcd8a9d702451d5c2f7f52b336e4c367ba9cc050f1f56feab4c7d2d5e705e286cc70eeec2b042292e06878083000d3852df18e966305c543ceb6f
|
7
|
+
data.tar.gz: 4493b5d9b76a7867c7dc81f8bde7d7078bc836d1bded817424024d341ff491b38cb8a46ada2047b6c1788a78e18313b66fb8a070e059275ed46dd3d7cda5c8b6
|
data/History.txt
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
=== 3.2.1 / 2020-12-14
|
2
|
+
|
3
|
+
Enhancements:
|
4
|
+
|
5
|
+
* Added help message for gem i webrick in gem server command. Pull request
|
6
|
+
#4117 by hsbt
|
7
|
+
|
8
|
+
Bug fixes:
|
9
|
+
|
10
|
+
* Added the missing loading of fileutils same as load_specs. Pull request
|
11
|
+
#4124 by hsbt
|
12
|
+
* Fix Resolver::APISet to always include prereleases when necessary. Pull
|
13
|
+
request #4113 by deivid-rodriguez
|
14
|
+
|
1
15
|
=== 3.2.0 / 2020-12-7
|
2
16
|
|
3
17
|
Enhancements:
|
@@ -56,7 +70,7 @@ Performance:
|
|
56
70
|
|
57
71
|
=== 3.2.0.rc.2 / 2020-10-8
|
58
72
|
|
59
|
-
|
73
|
+
Enhancements:
|
60
74
|
|
61
75
|
* Make --dry-run flag consistent across rubygems commands. Pull request
|
62
76
|
#3867 by bronzdoc
|
@@ -97,14 +111,11 @@ Performance:
|
|
97
111
|
|
98
112
|
=== 3.2.0.rc.1 / 2020-07-04
|
99
113
|
|
100
|
-
|
114
|
+
Enhancements:
|
101
115
|
|
102
116
|
* Test TruffleRuby in CI. Pull request #2797 by Benoit Daloze.
|
103
117
|
* Rework plugins system and speed up rubygems. Pull request #3108 by David
|
104
118
|
Rodríguez.
|
105
|
-
|
106
|
-
Minor enhancements:
|
107
|
-
|
108
119
|
* Specify explicit separator not to be affected by $;. Pull request #3424
|
109
120
|
by Nobuyoshi Nakada.
|
110
121
|
* Enable `Layout/ExtraSpacing` cop. Pull request #3449 by David Rodríguez.
|
@@ -203,7 +214,7 @@ Breaking changes:
|
|
203
214
|
|
204
215
|
=== 3.1.4 / 2020-06-03
|
205
216
|
|
206
|
-
|
217
|
+
Enhancements:
|
207
218
|
|
208
219
|
* Deprecate rubyforge_project attribute only during build
|
209
220
|
time. Pull request #3609 by Josef Šimánek.
|
@@ -214,7 +225,7 @@ Minor enhancements:
|
|
214
225
|
|
215
226
|
=== 3.1.3 / 2020-05-05
|
216
227
|
|
217
|
-
|
228
|
+
Enhancements:
|
218
229
|
|
219
230
|
* Resolver: require NameTuple before use. Pull request #3171 by Olle
|
220
231
|
Jonsson.
|
@@ -239,7 +250,7 @@ Bug fixes:
|
|
239
250
|
|
240
251
|
=== 3.1.2 / 2019-12-20
|
241
252
|
|
242
|
-
|
253
|
+
Enhancements:
|
243
254
|
|
244
255
|
* Restore non prompting `gem update --system` behavior. Pull request #3040
|
245
256
|
by David Rodríguez.
|
@@ -266,12 +277,9 @@ Bug fixes:
|
|
266
277
|
|
267
278
|
=== 3.1.0 / 2019-12-16
|
268
279
|
|
269
|
-
|
280
|
+
Enhancements:
|
270
281
|
|
271
282
|
* Vendor bundler 2.1. Pull request #3028 by David Rodríguez.
|
272
|
-
|
273
|
-
Minor enhancements:
|
274
|
-
|
275
283
|
* Check for rubygems.org typo squatting sources. Pull request #2999 by
|
276
284
|
Luis Sagastume.
|
277
285
|
* Refactor remote fetcher. Pull request #3017 by David Rodríguez.
|
@@ -301,7 +309,7 @@ Breaking changes:
|
|
301
309
|
|
302
310
|
=== 3.1.0.pre3 / 2019-11-11
|
303
311
|
|
304
|
-
|
312
|
+
Enhancements:
|
305
313
|
|
306
314
|
* Fix gem pristine not accounting for user installed gems. Pull request
|
307
315
|
#2914 by Luis Sagastume.
|
@@ -322,7 +330,7 @@ Minor enhancements:
|
|
322
330
|
|
323
331
|
=== 3.1.0.pre2 / 2019-10-15
|
324
332
|
|
325
|
-
|
333
|
+
Enhancements:
|
326
334
|
|
327
335
|
* Optimize Gem::Package::TarReader#each. Pull request #2941 by Jean byroot
|
328
336
|
Boussier.
|
@@ -331,7 +339,7 @@ Minor enhancements:
|
|
331
339
|
|
332
340
|
=== 3.1.0.pre1 / 2019-10-08
|
333
341
|
|
334
|
-
|
342
|
+
Enhancements:
|
335
343
|
|
336
344
|
* Try to use bundler-2.1.0.pre.2. Pull request #2923 by SHIBATA Hiroshi.
|
337
345
|
* [Require] Ensure -I beats a default gem. Pull request #1868 by Samuel
|
@@ -342,9 +350,6 @@ Major enhancements:
|
|
342
350
|
Chaofan.
|
343
351
|
* Autoswitch to exact bundler version if present. Pull request #2583 by
|
344
352
|
David Rodríguez.
|
345
|
-
|
346
|
-
Minor enhancements:
|
347
|
-
|
348
353
|
* Fix Gem::Requirement equality comparison when ~> operator is used. Pull
|
349
354
|
request #2554 by Grey Baker.
|
350
355
|
* Don't use a proxy if https_proxy env var is empty. Pull request #2567 by
|
@@ -561,7 +566,7 @@ Bug fixes:
|
|
561
566
|
|
562
567
|
=== 3.0.5 / 2019-08-16
|
563
568
|
|
564
|
-
|
569
|
+
Enhancements:
|
565
570
|
|
566
571
|
* Use env var to configure api key on push. Pull request #2559 by Luis
|
567
572
|
Sagastume.
|
@@ -614,7 +619,7 @@ Bug fixes:
|
|
614
619
|
|
615
620
|
=== 3.0.4 / 2019-06-14
|
616
621
|
|
617
|
-
|
622
|
+
Enhancements:
|
618
623
|
|
619
624
|
* Add support for TruffleRuby #2612 by Benoit Daloze
|
620
625
|
* Serve a more descriptive error when --no-ri or --no-rdoc are used #2572
|
@@ -680,7 +685,7 @@ Security fixes:
|
|
680
685
|
|
681
686
|
=== 3.0.2 / 2019-01-01
|
682
687
|
|
683
|
-
|
688
|
+
Enhancements:
|
684
689
|
|
685
690
|
* Use Bundler-1.17.3. Pull request #2556 by SHIBATA Hiroshi.
|
686
691
|
* Fix document flag description. Pull request #2555 by Luis Sagastume.
|
@@ -708,7 +713,7 @@ Bug fixes:
|
|
708
713
|
|
709
714
|
=== 3.0.0 / 2018-12-19
|
710
715
|
|
711
|
-
|
716
|
+
Enhancements:
|
712
717
|
|
713
718
|
* S3 source. Pull request #1690 by Aditya Prakash.
|
714
719
|
* Download gems with threads. Pull request #1898 by André Arko.
|
@@ -716,9 +721,6 @@ Major enhancements:
|
|
716
721
|
* [GSoC] Multi-factor feature for RubyGems. Pull request #2369 by Qiu
|
717
722
|
Chaofan.
|
718
723
|
* Use bundler 1.17.2. Pull request #2521 by SHIBATA Hiroshi.
|
719
|
-
|
720
|
-
Minor enhancements:
|
721
|
-
|
722
724
|
* Don't treat inaccessible working directories as build failures. Pull
|
723
725
|
request #1135 by Pete.
|
724
726
|
* Remove useless directory parameter from builders .build methods.
|
@@ -984,7 +986,7 @@ Breaking changes:
|
|
984
986
|
|
985
987
|
=== 2.7.10 / 2019-06-14
|
986
988
|
|
987
|
-
|
989
|
+
Enhancements:
|
988
990
|
|
989
991
|
* Fix bundler rubygems binstub not properly looking for bundler. Pull request #2426
|
990
992
|
by David Rodríguez.
|
@@ -1005,7 +1007,7 @@ Security fixes:
|
|
1005
1007
|
|
1006
1008
|
=== 2.7.8 / 2018-11-02
|
1007
1009
|
|
1008
|
-
|
1010
|
+
Enhancements:
|
1009
1011
|
|
1010
1012
|
* [Requirement] Treat requirements with == versions as equal. Pull
|
1011
1013
|
request #2230 by Samuel Giddins.
|
@@ -1039,7 +1041,7 @@ Bug fixes:
|
|
1039
1041
|
|
1040
1042
|
=== 2.7.7 / 2018-05-08
|
1041
1043
|
|
1042
|
-
|
1044
|
+
Enhancements:
|
1043
1045
|
|
1044
1046
|
* [RequestSet] Only suggest a gem version with an installable platform.
|
1045
1047
|
Pull request #2175 by Samuel Giddins.
|
@@ -1125,7 +1127,7 @@ Bug fixes:
|
|
1125
1127
|
|
1126
1128
|
=== 2.7.3
|
1127
1129
|
|
1128
|
-
|
1130
|
+
Enhancements:
|
1129
1131
|
|
1130
1132
|
* Removed needless version lock. Pull request #2074 by SHIBATA Hiroshi.
|
1131
1133
|
* Add --[no-]check-development option to cleanup command. Pull request
|
@@ -1175,15 +1177,12 @@ Bug fixes:
|
|
1175
1177
|
|
1176
1178
|
=== 2.7.0 (2017-11-02)
|
1177
1179
|
|
1178
|
-
|
1180
|
+
Enhancements:
|
1179
1181
|
|
1180
1182
|
* Update vendored bundler-1.16.0. Pull request #2051 by Samuel Giddins.
|
1181
1183
|
* Use Bundler for Gem.use_gemdeps. Pull request #1674 by Samuel Giddins.
|
1182
1184
|
* Add command `signin` to `gem` CLI. Pull request #1944 by Shiva Bhusal.
|
1183
1185
|
* Add Logout feature to CLI. Pull request #1938 by Shiva Bhusal.
|
1184
|
-
|
1185
|
-
Minor enhancements:
|
1186
|
-
|
1187
1186
|
* Added message to uninstall command for gem that is not installed. Pull
|
1188
1187
|
request #1979 by anant anil kolvankar.
|
1189
1188
|
* Add --trust-policy option to unpack command. Pull request #1718 by
|
@@ -1456,7 +1455,7 @@ Bug fixes:
|
|
1456
1455
|
|
1457
1456
|
=== 2.6.5 / 2016-06-21
|
1458
1457
|
|
1459
|
-
|
1458
|
+
Enhancements:
|
1460
1459
|
|
1461
1460
|
* Support for unified Integer in Ruby 2.4. Pull request #1618
|
1462
1461
|
by SHIBATA Hiroshi.
|
@@ -1485,7 +1484,7 @@ Bug fixes:
|
|
1485
1484
|
|
1486
1485
|
=== 2.6.4 / 2016-04-26
|
1487
1486
|
|
1488
|
-
|
1487
|
+
Enhancements:
|
1489
1488
|
|
1490
1489
|
* Use Gem::Util::NULL_DEVICE instead of hard coded strings. Pull request #1588
|
1491
1490
|
by Chris Charabaruk.
|
@@ -1502,7 +1501,7 @@ Bug fixes:
|
|
1502
1501
|
|
1503
1502
|
=== 2.6.3 / 2016-04-05
|
1504
1503
|
|
1505
|
-
|
1504
|
+
Enhancements:
|
1506
1505
|
|
1507
1506
|
* Lazily calculate Gem::LoadError exception messages. Pull request #1550
|
1508
1507
|
by Aaron Patterson.
|
@@ -1555,7 +1554,7 @@ Bug fixes:
|
|
1555
1554
|
|
1556
1555
|
=== 2.6.0 / 2016-02-26
|
1557
1556
|
|
1558
|
-
|
1557
|
+
Enhancements:
|
1559
1558
|
|
1560
1559
|
* RubyGems now defaults the `gem push` to the gem's "allowed_push_host"
|
1561
1560
|
metadata setting. Pull request #1486 by Josh Lane.
|
@@ -1610,7 +1609,7 @@ Bug fixes:
|
|
1610
1609
|
* Handle symlinks containing ".." correctly. Pull request #1457 by Samuel E.
|
1611
1610
|
Giddins.
|
1612
1611
|
|
1613
|
-
|
1612
|
+
Enhancements:
|
1614
1613
|
|
1615
1614
|
* Add `--no-rc` flag, which skips loading `.gemrc`. Pull request #1329 by Luis
|
1616
1615
|
Sagastume.
|
@@ -1668,7 +1667,7 @@ Bug fixes:
|
|
1668
1667
|
|
1669
1668
|
=== 2.5.0 / 2015-11-03
|
1670
1669
|
|
1671
|
-
|
1670
|
+
Enhancements:
|
1672
1671
|
|
1673
1672
|
* Added the Gem::Licenses class which provides a set of standard license
|
1674
1673
|
identifiers as set by spdx.org. This is now used by the
|
@@ -1677,8 +1676,6 @@ Major enhancements:
|
|
1677
1676
|
|
1678
1677
|
Pull request #1249 by Kyle Mitchell.
|
1679
1678
|
|
1680
|
-
Minor enhancements:
|
1681
|
-
|
1682
1679
|
* Use Molinillo as the resolver library. This is the same resolver as used by
|
1683
1680
|
Bundler. Pull request #1189 by Samuel E. Giddins.
|
1684
1681
|
* Add `--skip=gem_name` to Pristine command. Pull request #1018 by windwiny.
|
@@ -1942,7 +1939,7 @@ Bug fixes:
|
|
1942
1939
|
|
1943
1940
|
=== 2.4.0 / 2014-07-16
|
1944
1941
|
|
1945
|
-
|
1942
|
+
Enhancements:
|
1946
1943
|
|
1947
1944
|
* The contents command now supports a --show-install-dir option that shows
|
1948
1945
|
only the directory the gem is installed in. Feature request #966 by Akinori
|
@@ -2005,7 +2002,7 @@ Bug fixes:
|
|
2005
2002
|
|
2006
2003
|
=== 2.3.0 / 2014-06-10
|
2007
2004
|
|
2008
|
-
|
2005
|
+
Enhancements:
|
2009
2006
|
|
2010
2007
|
* Added the `open` command which allows you to inspect the source of a gem
|
2011
2008
|
using your editor.
|
@@ -2206,7 +2203,7 @@ Bug fixes:
|
|
2206
2203
|
Special thanks to Vít Ondruch and Michal Papis for testing and finding bugs in
|
2207
2204
|
RubyGems as it was prepared for the 2.2.0 release.
|
2208
2205
|
|
2209
|
-
|
2206
|
+
Enhancements:
|
2210
2207
|
|
2211
2208
|
* RubyGems can check for gem dependencies files (gem.deps.rb or Gemfile) when
|
2212
2209
|
rubygems executables are started and uses the found dependencies. This
|
@@ -2229,8 +2226,6 @@ Major enhancements:
|
|
2229
2226
|
The default sharing location may be configured by RubyGems packagers through
|
2230
2227
|
Gem.default_ext_dir_for. Pull Request #744 by Vít Ondruch.
|
2231
2228
|
|
2232
|
-
Minor enhancements:
|
2233
|
-
|
2234
2229
|
* RubyGems checks the 'allowed_push_host' metadata value when pushing a gem to
|
2235
2230
|
prevent an accidental push to a public repository (such as rubygems.org).
|
2236
2231
|
If you have private gems you should set this value in your gem specification
|
@@ -2429,15 +2424,13 @@ Security fixes:
|
|
2429
2424
|
including vulnerable APIs. Fixed versions include 2.0.8, 1.8.26 and
|
2430
2425
|
1.8.23.1 (for Ruby 1.9.3). Issue #626 by Damir Sharipov.
|
2431
2426
|
|
2432
|
-
|
2427
|
+
Enhancements:
|
2433
2428
|
|
2434
2429
|
* RubyGems uses a new dependency resolver for gem installation which works
|
2435
2430
|
similar to the bundler resolver. The new resolver can resolve conflicts the
|
2436
2431
|
previous resolver could not and offers improved diagnostics when conflicts
|
2437
2432
|
are discovered.
|
2438
2433
|
|
2439
|
-
Minor enhancements:
|
2440
|
-
|
2441
2434
|
* RubyGems now has improved platform matching for the ARM architecture. Gems
|
2442
2435
|
built with a CPU of "arm" will match any specific ARM CPU. See `gem help
|
2443
2436
|
platform` for further details. Fixes #532 by Kim Burgestrand.
|
@@ -2769,7 +2762,7 @@ Breaking changes:
|
|
2769
2762
|
* Removed support for Ruby 1.9.1
|
2770
2763
|
* Removed many deprecated methods
|
2771
2764
|
|
2772
|
-
|
2765
|
+
Enhancements:
|
2773
2766
|
|
2774
2767
|
* Improved support for default gems shipping with ruby 2.0.0+
|
2775
2768
|
* A gem can have arbitrary metadata through Gem::Specification#metadata
|
@@ -2787,8 +2780,6 @@ Major enhancements:
|
|
2787
2780
|
file (Gemfile, Isolate, gem.deps.rb).
|
2788
2781
|
Set RUBYGEMS_GEMDEPS=path to have it loaded. Use - as the path
|
2789
2782
|
to autodetect (current and parent directories are searched).
|
2790
|
-
|
2791
|
-
Minor enhancements:
|
2792
2783
|
* Added `gem check --doctor` to clean up after failed uninstallation. Bug
|
2793
2784
|
#419 by Erik Hollensbe
|
2794
2785
|
* RubyGems no longer defaults to uninstalling gems if a dependency would be
|
@@ -2911,7 +2902,7 @@ Bug fixes:
|
|
2911
2902
|
|
2912
2903
|
=== 2.0.0.rc.1 / 2013-01-08
|
2913
2904
|
|
2914
|
-
|
2905
|
+
Enhancements:
|
2915
2906
|
* This release of RubyGems can push gems to rubygems.org. Ordinarily
|
2916
2907
|
prerelease versions of RubyGems cannot push gems.
|
2917
2908
|
* Added `gem check --doctor` to clean up after failed uninstallation. Bug
|
@@ -2925,7 +2916,7 @@ Bug fixes:
|
|
2925
2916
|
|
2926
2917
|
=== 2.0.0.preview2.2 / 2012-12-14
|
2927
2918
|
|
2928
|
-
|
2919
|
+
Enhancements:
|
2929
2920
|
* Added a cmake builder. Pull request #265 by Allan Espinosa.
|
2930
2921
|
* Removed rubyforge page from gem list output
|
2931
2922
|
|
@@ -2935,7 +2926,7 @@ Bug fixes:
|
|
2935
2926
|
|
2936
2927
|
=== 2.0.0.preview2.1 / 2012-12-08
|
2937
2928
|
|
2938
|
-
|
2929
|
+
Enhancements:
|
2939
2930
|
* Gem::DependencyInstaller now passes build_args down to the installer.
|
2940
2931
|
Pull Request #412 by Sam Rawlins.
|
2941
2932
|
* RubyGems no longer defaults to uninstalling gems if a dependency would be
|
@@ -2982,7 +2973,7 @@ Breaking changes:
|
|
2982
2973
|
* Removed support for Ruby 1.9.1
|
2983
2974
|
* Removed many deprecated methods
|
2984
2975
|
|
2985
|
-
|
2976
|
+
Enhancements:
|
2986
2977
|
|
2987
2978
|
* Improved support for default gems shipping with ruby 2.0.0+
|
2988
2979
|
* A gem can have arbitrary metadata through Gem::Specification#metadata
|
@@ -3000,9 +2991,6 @@ Major enhancements:
|
|
3000
2991
|
file (Gemfile, Isolate, gem.deps.rb).
|
3001
2992
|
Set RUBYGEMS_GEMDEPS=path to have it loaded. Use - as the path
|
3002
2993
|
to autodetect (current and parent directories are searched).
|
3003
|
-
|
3004
|
-
Minor enhancements:
|
3005
|
-
|
3006
2994
|
* Added --only-executables option to `gem pristine`. Fixes #326
|
3007
2995
|
* Added -I flag for 'gem query' to exclude installed items
|
3008
2996
|
* Added Gem.install(name, version=default) for interactive sessions
|
@@ -3175,7 +3163,7 @@ Security fixes:
|
|
3175
3163
|
* Disallow redirects from https to http
|
3176
3164
|
* Turn on verification of server SSL certs
|
3177
3165
|
|
3178
|
-
|
3166
|
+
Enhancements:
|
3179
3167
|
* Add --clear-sources to fetch
|
3180
3168
|
|
3181
3169
|
Bug fixes:
|
@@ -3227,7 +3215,7 @@ Bug fixes:
|
|
3227
3215
|
|
3228
3216
|
=== 1.8.17 / 2012-02-17
|
3229
3217
|
|
3230
|
-
|
3218
|
+
Enhancements:
|
3231
3219
|
|
3232
3220
|
* Add MacRuby to the list of special cases for platforms (ferrous26)
|
3233
3221
|
* Add a default for where to install rubygems itself
|
@@ -3267,7 +3255,7 @@ Bug fixes:
|
|
3267
3255
|
|
3268
3256
|
* Check loaded_specs properly when trying to satisfy a dep
|
3269
3257
|
|
3270
|
-
|
3258
|
+
Enhancements:
|
3271
3259
|
|
3272
3260
|
* Remove using #loaded_path? for performance
|
3273
3261
|
* Remove Zlib workaround for Windows build.
|
@@ -3331,7 +3319,7 @@ Bug fixes:
|
|
3331
3319
|
|
3332
3320
|
=== 1.8.6 / 2011-07-25
|
3333
3321
|
|
3334
|
-
|
3322
|
+
Enhancements:
|
3335
3323
|
|
3336
3324
|
* Add autorequires and delay startup of RubyGems until require is called.
|
3337
3325
|
See Ruby bug #4962
|
@@ -3350,7 +3338,7 @@ Bug fixes:
|
|
3350
3338
|
|
3351
3339
|
=== 1.8.5 / 2011-05-31
|
3352
3340
|
|
3353
|
-
|
3341
|
+
Enhancements:
|
3354
3342
|
|
3355
3343
|
* The -u option to 'update local source cache' is official deprecated.
|
3356
3344
|
* Remove has_rdoc deprecations from Specification.
|
@@ -3362,7 +3350,7 @@ Bug fixes:
|
|
3362
3350
|
|
3363
3351
|
=== 1.8.4 / 2011-05-25
|
3364
3352
|
|
3365
|
-
|
3353
|
+
Enhancements:
|
3366
3354
|
|
3367
3355
|
* Removed default_executable deprecations from Specification.
|
3368
3356
|
|
@@ -3379,7 +3367,7 @@ Bug fixes:
|
|
3379
3367
|
|
3380
3368
|
=== 1.8.2 / 2011-05-11
|
3381
3369
|
|
3382
|
-
|
3370
|
+
Enhancements:
|
3383
3371
|
|
3384
3372
|
* Moved #outdated from OutdatedCommand to Specification (for Isolate).
|
3385
3373
|
* Print out a warning about missing executables.
|
@@ -3392,7 +3380,7 @@ Bug fixes:
|
|
3392
3380
|
|
3393
3381
|
=== 1.8.1 / 2011-05-05
|
3394
3382
|
|
3395
|
-
|
3383
|
+
Enhancements:
|
3396
3384
|
|
3397
3385
|
* Added Gem::Requirement#specific? and Gem::Dependency#specific?
|
3398
3386
|
|
@@ -3439,14 +3427,11 @@ Deprecations:
|
|
3439
3427
|
* Deprecated all of Gem::GemPathSearcher.
|
3440
3428
|
* Deprecated Gem::Specification#default_executable.
|
3441
3429
|
|
3442
|
-
|
3430
|
+
Enhancements:
|
3443
3431
|
|
3444
3432
|
* Gem::SourceIndex functionality has been moved to Gem::Specification.
|
3445
3433
|
Gem::SourceIndex is completely disconnected from Gem::Specification
|
3446
3434
|
* Refactored GemPathSearcher entirely out. RIPMF
|
3447
|
-
|
3448
|
-
Minor enhancements:
|
3449
|
-
|
3450
3435
|
* Added CommandManager#unregister_command
|
3451
3436
|
* Added Dependency#matching_specs + to_specs.
|
3452
3437
|
* Added Dependency#to_spec
|
@@ -3526,7 +3511,7 @@ Deprecations:
|
|
3526
3511
|
test_suite_file(=).
|
3527
3512
|
* Deprecated Specification#has_rdoc= and default_executable=
|
3528
3513
|
|
3529
|
-
|
3514
|
+
Enhancements:
|
3530
3515
|
* Added stupid simple deprecation module.
|
3531
3516
|
* Added --spec option to `gem unpack` to output a gem's original metadata
|
3532
3517
|
* Added packaging option to Specification#validate
|
@@ -3604,14 +3589,11 @@ Deprecations:
|
|
3604
3589
|
* Gem::LoadError#version_requirements has been removed. Use
|
3605
3590
|
Gem::LoadError#requirement.
|
3606
3591
|
|
3607
|
-
|
3592
|
+
Enhancements:
|
3608
3593
|
|
3609
3594
|
* Rewrote how Gem::activate (gem and require) resolves dependencies.
|
3610
3595
|
* Gem::LoadError#version_requirement has been removed. Use
|
3611
3596
|
Gem::LoadError#requirement.
|
3612
|
-
|
3613
|
-
Minor enhancements:
|
3614
|
-
|
3615
3597
|
* Added --key to `gem push` for setting alternate API keys.
|
3616
3598
|
* Added --format-executable support to gem uninstall.
|
3617
3599
|
* Added Gem::DependencyList#clear.
|
@@ -3665,7 +3647,7 @@ Bug fixes:
|
|
3665
3647
|
|
3666
3648
|
==== NOTE: `gem update --system` is broken. See UPGRADING.rdoc.
|
3667
3649
|
|
3668
|
-
|
3650
|
+
Enhancements:
|
3669
3651
|
|
3670
3652
|
* Added ability to do gem update --system X.Y.Z.
|
3671
3653
|
|
@@ -3682,13 +3664,10 @@ Bug fixes:
|
|
3682
3664
|
|
3683
3665
|
==== NOTE: `gem update --system` is broken. See UPGRADING.rdoc.
|
3684
3666
|
|
3685
|
-
|
3667
|
+
Enhancements:
|
3686
3668
|
|
3687
3669
|
* Finally fixed all known 1.9.x issues. Upgrading is now possible!
|
3688
3670
|
* Merged huge 1.3.7/ruby-core changes to master.
|
3689
|
-
|
3690
|
-
Minor enhancements:
|
3691
|
-
|
3692
3671
|
* Added UPGRADING.rdoc to help deal with 1.9 issues.
|
3693
3672
|
* Gem::Format now gives better errors for corrupt gem files and includes paths
|
3694
3673
|
* Pre-install hooks can now abort gem installation by returning false
|
@@ -4045,7 +4024,7 @@ Bug fixes:
|
|
4045
4024
|
* `gem lock --strict` works again. Patch #21814 by Sven Engelhardt.
|
4046
4025
|
* Platform detection for Solaris was improved. Patch #21911 by Bob Remeika.
|
4047
4026
|
|
4048
|
-
|
4027
|
+
Enhancements:
|
4049
4028
|
|
4050
4029
|
* `gem help install` now describes _version_ argument to executable stubs
|
4051
4030
|
* `gem help environment` describes environment variables and ~/.gemrc and
|
@@ -4107,7 +4086,7 @@ Bug fixes:
|
|
4107
4086
|
* Gem::DependencyInstaller resets installed gems every install, bug #19444
|
4108
4087
|
* Gem.default_path is now honored if GEM_PATH is not set, patch #19502
|
4109
4088
|
|
4110
|
-
|
4089
|
+
Enhancements:
|
4111
4090
|
|
4112
4091
|
* setup.rb
|
4113
4092
|
* stub files created by RubyGems 0.7.x and older are no longer removed. When
|
@@ -4173,7 +4152,7 @@ Bug fixes:
|
|
4173
4152
|
* Gem stub scripts on windows now work outside Gem.bindir.
|
4174
4153
|
* `gem sources -r` now works without network access.
|
4175
4154
|
|
4176
|
-
|
4155
|
+
Enhancements:
|
4177
4156
|
|
4178
4157
|
* RubyGems now requires Ruby > 1.8.3.
|
4179
4158
|
* Release notes are now printed upon installation.
|
@@ -4191,7 +4170,7 @@ Bug fixes:
|
|
4191
4170
|
* Installation on Ruby 1.8.3 through 1.8.5 fixed
|
4192
4171
|
* `gem build` on 1.8.3 fixed
|
4193
4172
|
|
4194
|
-
|
4173
|
+
Enhancements:
|
4195
4174
|
|
4196
4175
|
* Since RubyGems 0.9.5, RubyGems is no longer supported on Ruby 1.8.2 or older,
|
4197
4176
|
this is official in RubyGems 1.0.1.
|
@@ -4203,7 +4182,7 @@ Features:
|
|
4203
4182
|
* RubyGems warns about various problems with gemspecs during gem building
|
4204
4183
|
* More-consistent versioning for the RubyGems software
|
4205
4184
|
|
4206
|
-
|
4185
|
+
Enhancements:
|
4207
4186
|
|
4208
4187
|
* Fixed various bugs and problems with installing gems on Windows
|
4209
4188
|
* Fixed using `gem server` for installing gems
|
@@ -4243,7 +4222,7 @@ Features:
|
|
4243
4222
|
* Improved stubs and `gem.bat` on mswin, including better compatibility
|
4244
4223
|
with the One-Click Installer.
|
4245
4224
|
|
4246
|
-
|
4225
|
+
Enhancements:
|
4247
4226
|
|
4248
4227
|
* Time::today is deprecated and will be removed at a future date
|
4249
4228
|
* Gem::manage_gems is deprecated and will be removed at a future date
|
@@ -4336,7 +4315,7 @@ number one change is that we can now download the gem index
|
|
4336
4315
|
incrementally. This will greatly speed up the gem command when only a
|
4337
4316
|
few gems are out of date.
|
4338
4317
|
|
4339
|
-
|
4318
|
+
Enhancements:
|
4340
4319
|
|
4341
4320
|
* The gem index is now downloaded incrementally, only updating entries
|
4342
4321
|
that are out of date. If more than 50 entries are out of date, we
|
@@ -4351,9 +4330,6 @@ Major enhancements:
|
|
4351
4330
|
* Both RI and RDOC documents are now generated by default.
|
4352
4331
|
* A gemri command is included to read gem RI docs (only needed for
|
4353
4332
|
Ruby 1.8.4 or earlier).
|
4354
|
-
|
4355
|
-
Minor enhancements:
|
4356
|
-
|
4357
4333
|
* Version 0.0.0 is now a valid gem version.
|
4358
4334
|
* Better detection of missing SSL functionality.
|
4359
4335
|
* SSL is not required if the security policy does not require
|
data/POLICIES.md
CHANGED
@@ -57,9 +57,10 @@ smooth and no needed steps are missed.
|
|
57
57
|
|
58
58
|
### Steps for all releases
|
59
59
|
|
60
|
-
* Confirm
|
61
|
-
|
62
|
-
*
|
60
|
+
* Confirm all PRs that you want backported are properly tagged with `rubygems:
|
61
|
+
<type>` labels at GitHub.
|
62
|
+
* Run `rake prepare_stable_branch[<target_version>]`, create a PR and merge it
|
63
|
+
to the stable branch once CI passes.
|
63
64
|
* Create and push git tag
|
64
65
|
* Create and push `rubygems-update` gem and tgz
|
65
66
|
* Publish blog post
|
data/Rakefile
CHANGED
@@ -99,6 +99,13 @@ task :check_deprecations do
|
|
99
99
|
end
|
100
100
|
end
|
101
101
|
|
102
|
+
desc "Prepare stable branch"
|
103
|
+
task :prepare_stable_branch, [:version] do |_t, opts|
|
104
|
+
require_relative "util/release"
|
105
|
+
|
106
|
+
Release.new(opts[:version] || v.to_s).prepare!
|
107
|
+
end
|
108
|
+
|
102
109
|
desc "Install rubygems to local system"
|
103
110
|
task :install => [:clear_package, :package] do
|
104
111
|
sh "ruby -Ilib bin/gem install --no-document pkg/rubygems-update-#{v}.gem && update_rubygems --no-document"
|
@@ -111,9 +118,9 @@ end
|
|
111
118
|
|
112
119
|
desc "Generates the changelog for a specific target version"
|
113
120
|
task :generate_changelog, [:version] do |_t, opts|
|
114
|
-
require_relative "util/
|
121
|
+
require_relative "util/release"
|
115
122
|
|
116
|
-
|
123
|
+
Release.for_rubygems(opts[:version]).cut_changelog!
|
117
124
|
end
|
118
125
|
|
119
126
|
desc "Release rubygems-#{v}"
|
@@ -167,6 +174,13 @@ file "pkg/rubygems-#{v}.tgz" => "pkg/rubygems-#{v}" do
|
|
167
174
|
end
|
168
175
|
end
|
169
176
|
|
177
|
+
desc "Upload the release to Github releases"
|
178
|
+
task :upload_to_github do
|
179
|
+
require_relative "util/release"
|
180
|
+
|
181
|
+
Release.for_rubygems(v).create_for_github!
|
182
|
+
end
|
183
|
+
|
170
184
|
desc "Upload release to S3"
|
171
185
|
task :upload_to_s3 do
|
172
186
|
begin
|
@@ -183,7 +197,7 @@ task :upload_to_s3 do
|
|
183
197
|
end
|
184
198
|
|
185
199
|
desc "Upload release to rubygems.org"
|
186
|
-
task :upload => %w[upload_to_s3]
|
200
|
+
task :upload => %w[upload_to_github upload_to_s3]
|
187
201
|
|
188
202
|
directory '../guides.rubygems.org' do
|
189
203
|
sh 'git', 'clone',
|
data/bundler/CHANGELOG.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
# 2.2.1 (December 14, 2020)
|
2
|
+
|
3
|
+
## Bug fixes:
|
4
|
+
|
5
|
+
- Ad-hoc fix for platform regression [#4127](https://github.com/rubygems/rubygems/pull/4127)
|
6
|
+
- Workaround JRuby + Windows issue with net-http-persistent vendored code [#4138](https://github.com/rubygems/rubygems/pull/4138)
|
7
|
+
- Reset also root when in a nested invocation [#4140](https://github.com/rubygems/rubygems/pull/4140)
|
8
|
+
- Restore 2.1.4 resolution times [#4134](https://github.com/rubygems/rubygems/pull/4134)
|
9
|
+
- Fix `bundle outdated --strict` crash [#4133](https://github.com/rubygems/rubygems/pull/4133)
|
10
|
+
- Autoload `Bundler::RemoteSpecification` to workaround crash on jruby [#4114](https://github.com/rubygems/rubygems/pull/4114)
|
11
|
+
|
1
12
|
# 2.2.0 (December 7, 2020)
|
2
13
|
|
3
14
|
## Enhancements:
|
@@ -34,7 +45,11 @@
|
|
34
45
|
|
35
46
|
# 2.2.0.rc.2 (October 6, 2020)
|
36
47
|
|
37
|
-
##
|
48
|
+
## Features:
|
49
|
+
|
50
|
+
- Add `bundle fund` command [#3390](https://github.com/rubygems/rubygems/pull/3390)
|
51
|
+
|
52
|
+
## Enhancements:
|
38
53
|
|
39
54
|
- Fix ls-files matching regexp [#3845](https://github.com/rubygems/rubygems/pull/3845)
|
40
55
|
- Remove redundant `bundler/setup` require from `spec_helper.rb` generated by `bundle gem` [#3791](https://github.com/rubygems/rubygems/pull/3791)
|
@@ -67,10 +82,6 @@
|
|
67
82
|
|
68
83
|
- Deprecate `bundle cache --all` flag [#3932](https://github.com/rubygems/rubygems/pull/3932)
|
69
84
|
|
70
|
-
## Features:
|
71
|
-
|
72
|
-
- Add `bundle fund` command [#3390](https://github.com/rubygems/rubygems/pull/3390)
|
73
|
-
|
74
85
|
## Documentation:
|
75
86
|
|
76
87
|
- Correct grammar in Gemfile docs [#3990](https://github.com/rubygems/rubygems/pull/3990)
|
@@ -81,12 +92,12 @@
|
|
81
92
|
|
82
93
|
# 2.2.0.rc.1 (July 2, 2020)
|
83
94
|
|
84
|
-
##
|
95
|
+
## Features:
|
85
96
|
|
86
97
|
- Windows support. There's still gotchas and unimplemented features, but a Windows CI is now enforced.
|
87
98
|
- Full multiplatform support. Bundler should now seamlessly handle multiplatform `Gemfile` or `gems.rb` files.
|
88
99
|
|
89
|
-
##
|
100
|
+
## Enhancements:
|
90
101
|
|
91
102
|
- `bundle info` now includes gem metadata [#7376](https://github.com/rubygems/bundler/pull/7376)
|
92
103
|
- `bundle list --without-group` and `bundle list --only-group` now support space separated list of groups in addition to single groups [#7404](https://github.com/rubygems/bundler/pull/7404)
|
@@ -97,9 +108,6 @@
|
|
97
108
|
- Add `bundle plugin uninstall` [#3482](https://github.com/rubygems/rubygems/pull/3482)
|
98
109
|
- `bundle gem` now supports a `--ci` flag and a `gem.ci` configuration that adds CI config files for the main CI providers to the generated gem skeleton [#3667](https://github.com/rubygems/rubygems/pull/3667)
|
99
110
|
- Allow setting a tag prefix to be used by release tasks [#3766](https://github.com/rubygems/rubygems/pull/3766)
|
100
|
-
|
101
|
-
## Minor enhancements:
|
102
|
-
|
103
111
|
- `bundle outdated` now prints output in columns for better readability [#4474](https://github.com/rubygems/bundler/pull/4474)
|
104
112
|
- bundler's `release` rake task now prints a better message when not being logged in and trying to push a gem [#7513](https://github.com/rubygems/bundler/pull/7513)
|
105
113
|
- `BUNDLE_APP_CONFIG` environment variable is now documented [#7563](https://github.com/rubygems/bundler/pull/7563)
|
@@ -192,7 +200,7 @@
|
|
192
200
|
- Restore previous `BUNDLE_GEMFILE` in `bundler/inline` [#7418](https://github.com/rubygems/bundler/pull/7418)
|
193
201
|
- Fix error when using `gem` DSL's `:glob` option for selecting gemspecs from a specific source [#7419](https://github.com/rubygems/bundler/pull/7419)
|
194
202
|
|
195
|
-
##
|
203
|
+
## Enhancements:
|
196
204
|
|
197
205
|
- `bundle config` no longer warns when using "old interface" (might be deprecated again in the future) [#7475](https://github.com/rubygems/bundler/pull/7475)
|
198
206
|
- `bundle update` no longer warns when used without arguments (might be deprecated again in the future) [#7475](https://github.com/rubygems/bundler/pull/7475)
|
@@ -321,7 +329,7 @@
|
|
321
329
|
|
322
330
|
# 2.0.2 (June 13, 2019)
|
323
331
|
|
324
|
-
##
|
332
|
+
## Enhancements:
|
325
333
|
|
326
334
|
- Fixes for Bundler integration with ruby-src ([#6941](https://github.com/rubygems/bundler/pull/6941), [#6973](https://github.com/bundler/bundler/pull/6973), [#6977](https://github.com/bundler/bundler/pull/6977), [#6315](https://github.com/bundler/bundler/pull/6315), [#7061](https://github.com/bundler/bundler/pull/7061))
|
327
335
|
- Use `__dir__` instead of `__FILE__` when generating a gem with `bundle gem` ([#6503](https://github.com/rubygems/bundler/pull/6503))
|
@@ -365,7 +373,7 @@
|
|
365
373
|
|
366
374
|
- Ruby 2.6 compatibility fixes (@segiddins)
|
367
375
|
|
368
|
-
##
|
376
|
+
## Enhancements:
|
369
377
|
|
370
378
|
- Import changes from Bundler 1.17.3 release
|
371
379
|
|
@@ -460,7 +468,7 @@ Changes
|
|
460
468
|
|
461
469
|
# 1.16.6 (October 5, 2018)
|
462
470
|
|
463
|
-
##
|
471
|
+
## Enhancements:
|
464
472
|
|
465
473
|
- Add an error message when adding a gem with `bundle add` that's already in the bundle ([#6341](https://github.com/rubygems/bundler/issues/6341), @agrim123)
|
466
474
|
- Add Homepage, Source Code and Changelog URI metadata fields to the `bundle gem` gemspec template (@walf443)
|
@@ -482,7 +490,7 @@ Changes
|
|
482
490
|
|
483
491
|
# 1.16.5 (September 18, 2018)
|
484
492
|
|
485
|
-
##
|
493
|
+
## Enhancements:
|
486
494
|
|
487
495
|
- Add support for TruffleRuby (@eregon)
|
488
496
|
|
@@ -498,7 +506,7 @@ Changes
|
|
498
506
|
|
499
507
|
# 1.16.4 (August 17, 2018)
|
500
508
|
|
501
|
-
##
|
509
|
+
## Enhancements:
|
502
510
|
|
503
511
|
- Welcome new members to the Bundler core team (@indirect)
|
504
512
|
- Don't mutate original error trees when determining version_conflict_message (@greysteil)
|
@@ -540,7 +548,7 @@ Changes
|
|
540
548
|
|
541
549
|
# 1.16.2 (April 20, 2018)
|
542
550
|
|
543
|
-
##
|
551
|
+
## Enhancements:
|
544
552
|
|
545
553
|
- Include the gem's source in the gem install error message when available (@papanikge)
|
546
554
|
- Remove unnecessary executable bit from gem template (@voxik)
|
@@ -1519,7 +1527,7 @@ Changes
|
|
1519
1527
|
- prefer gemspecs closest to the directory root ([#3428](https://github.com/rubygems/bundler/issues/3428), @segiddins)
|
1520
1528
|
- debug log for API request limits ([#3452](https://github.com/rubygems/bundler/issues/3452), @neerfri)
|
1521
1529
|
|
1522
|
-
##
|
1530
|
+
## Enhancements:
|
1523
1531
|
|
1524
1532
|
- Molinillo resolver, shared with CocoaPods (@segiddins)
|
1525
1533
|
- updated Thor to v0.19.1 (@segiddins)
|
data/bundler/lib/bundler.rb
CHANGED
@@ -212,6 +212,15 @@ module Bundler
|
|
212
212
|
end
|
213
213
|
end
|
214
214
|
|
215
|
+
def locked_bundler_version
|
216
|
+
return nil unless defined?(@definition) && @definition
|
217
|
+
|
218
|
+
locked_gems = definition.locked_gems
|
219
|
+
return nil unless locked_gems
|
220
|
+
|
221
|
+
locked_gems.bundler_version
|
222
|
+
end
|
223
|
+
|
215
224
|
def ruby_scope
|
216
225
|
"#{Bundler.rubygems.ruby_engine}/#{RbConfig::CONFIG["ruby_version"]}"
|
217
226
|
end
|
@@ -602,8 +611,9 @@ EOF
|
|
602
611
|
reset_rubygems!
|
603
612
|
end
|
604
613
|
|
605
|
-
def
|
614
|
+
def reset_settings_and_root!
|
606
615
|
@settings = nil
|
616
|
+
@root = nil
|
607
617
|
end
|
608
618
|
|
609
619
|
def reset_paths!
|
@@ -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 = "2020-12-
|
8
|
-
@git_commit_sha = "
|
7
|
+
@built_at = "2020-12-14".freeze
|
8
|
+
@git_commit_sha = "b98d6b2035".freeze
|
9
9
|
@release = true
|
10
10
|
# end ivars
|
11
11
|
|
data/bundler/lib/bundler/cli.rb
CHANGED
@@ -57,7 +57,7 @@ module Bundler
|
|
57
57
|
custom_gemfile = options[:gemfile] || Bundler.settings[:gemfile]
|
58
58
|
if custom_gemfile && !custom_gemfile.empty?
|
59
59
|
Bundler::SharedHelpers.set_env "BUNDLE_GEMFILE", File.expand_path(custom_gemfile)
|
60
|
-
Bundler.
|
60
|
+
Bundler.reset_settings_and_root!
|
61
61
|
end
|
62
62
|
|
63
63
|
Bundler.settings.set_command_option_if_given :retry, options[:retry]
|
@@ -76,6 +76,8 @@ module Bundler
|
|
76
76
|
next unless gems.empty? || gems.include?(current_spec.name)
|
77
77
|
|
78
78
|
active_spec = retrieve_active_spec(definition, current_spec)
|
79
|
+
next unless active_spec
|
80
|
+
|
79
81
|
next unless filter_options_patch.empty? || update_present_via_semver_portions(current_spec, active_spec, options)
|
80
82
|
|
81
83
|
gem_outdated = Gem::Version.new(active_spec.version) > Gem::Version.new(current_spec.version)
|
@@ -229,8 +231,6 @@ module Bundler
|
|
229
231
|
end
|
230
232
|
|
231
233
|
def update_present_via_semver_portions(current_spec, active_spec, options)
|
232
|
-
return false if active_spec.nil?
|
233
|
-
|
234
234
|
current_major = current_spec.version.segments.first
|
235
235
|
active_major = active_spec.version.segments.first
|
236
236
|
|
@@ -269,7 +269,9 @@ module Bundler
|
|
269
269
|
else
|
270
270
|
# Run a resolve against the locally available gems
|
271
271
|
Bundler.ui.debug("Found changes from the lockfile, re-resolving dependencies because #{change_reason}")
|
272
|
-
|
272
|
+
platforms_for_resolve = platforms.one? {|p| generic(p) == Gem::Platform::RUBY } ? platforms : platforms.reject{|p| p == Gem::Platform::RUBY }
|
273
|
+
expanded_dependencies = expand_dependencies(dependencies + metadata_dependencies, @remote, platforms_for_resolve.map {|p| generic(p) })
|
274
|
+
last_resolve.merge Resolver.resolve(expanded_dependencies, index, source_requirements, last_resolve, gem_version_promoter, additional_base_requirements_for_resolve, platforms_for_resolve)
|
273
275
|
end
|
274
276
|
|
275
277
|
# filter out gems that _can_ be installed on multiple platforms, but don't need
|
@@ -548,11 +550,7 @@ module Bundler
|
|
548
550
|
private
|
549
551
|
|
550
552
|
def add_current_platform
|
551
|
-
|
552
|
-
end
|
553
|
-
|
554
|
-
def current_platforms
|
555
|
-
[local_platform, generic_local_platform].uniq
|
553
|
+
add_platform(local_platform)
|
556
554
|
end
|
557
555
|
|
558
556
|
def change_reason
|
@@ -847,14 +845,6 @@ module Bundler
|
|
847
845
|
@locked_specs[dep].any? {|s| s.satisfies?(dep) && (!dep.source || s.source.include?(dep.source)) }
|
848
846
|
end
|
849
847
|
|
850
|
-
# This list of dependencies is only used in #resolve, so it's OK to add
|
851
|
-
# the metadata dependencies here
|
852
|
-
def expanded_dependencies
|
853
|
-
@expanded_dependencies ||= begin
|
854
|
-
expand_dependencies(dependencies + metadata_dependencies, @remote)
|
855
|
-
end
|
856
|
-
end
|
857
|
-
|
858
848
|
def metadata_dependencies
|
859
849
|
@metadata_dependencies ||= begin
|
860
850
|
ruby_versions = ruby_version_requirements(@ruby_version)
|
@@ -881,7 +871,8 @@ module Bundler
|
|
881
871
|
end
|
882
872
|
end
|
883
873
|
|
884
|
-
def expand_dependencies(dependencies, remote = false)
|
874
|
+
def expand_dependencies(dependencies, remote = false, platforms = nil)
|
875
|
+
platforms ||= @platforms
|
885
876
|
deps = []
|
886
877
|
dependencies.each do |dep|
|
887
878
|
dep = Dependency.new(dep, ">= 0") unless dep.respond_to?(:name)
|
@@ -96,9 +96,11 @@ module Bundler
|
|
96
96
|
def gem_platforms(valid_platforms)
|
97
97
|
return valid_platforms if @platforms.empty?
|
98
98
|
|
99
|
+
valid_generic_platforms = valid_platforms.map {|p| [p, GemHelpers.generic(p)] }.to_h
|
99
100
|
@gem_platforms ||= expanded_platforms.compact.uniq
|
100
101
|
|
101
|
-
|
102
|
+
filtered_generic_platforms = valid_generic_platforms.values & @gem_platforms
|
103
|
+
valid_generic_platforms.select {|_, v| filtered_generic_platforms.include?(v) }.keys
|
102
104
|
end
|
103
105
|
|
104
106
|
def expanded_platforms
|
@@ -82,7 +82,7 @@ module Bundler
|
|
82
82
|
search_object = if source.is_a?(Source::Path)
|
83
83
|
Dependency.new(name, version)
|
84
84
|
else
|
85
|
-
self
|
85
|
+
ruby_platform_materializes_to_ruby_platform? ? self : Dependency.new(name, version)
|
86
86
|
end
|
87
87
|
platform_object = Gem::Platform.new(platform)
|
88
88
|
candidates = source.specs.search(search_object)
|
@@ -129,5 +129,19 @@ module Bundler
|
|
129
129
|
|
130
130
|
@specification.send(method, *args, &blk)
|
131
131
|
end
|
132
|
+
|
133
|
+
#
|
134
|
+
# Bundler 2.2.0 was the first version that records the full resolution
|
135
|
+
# including platform specific gems in the lockfile, which means that if a
|
136
|
+
# gem with RUBY platform is recorded, the RUBY platform version of the gem
|
137
|
+
# should be installed. Previously bundler would record only generic versions
|
138
|
+
# in the lockfile and then install the most specific platform variant if
|
139
|
+
# available.
|
140
|
+
#
|
141
|
+
def ruby_platform_materializes_to_ruby_platform?
|
142
|
+
locked_bundler_version = Bundler.locked_bundler_version
|
143
|
+
|
144
|
+
locked_bundler_version.nil? || Gem::Version.new(locked_bundler_version) >= Gem::Version.new("2.2.0")
|
145
|
+
end
|
132
146
|
end
|
133
147
|
end
|
@@ -75,7 +75,7 @@ module Bundler
|
|
75
75
|
return unless debug?
|
76
76
|
debug_info = yield
|
77
77
|
debug_info = debug_info.inspect unless debug_info.is_a?(String)
|
78
|
-
|
78
|
+
puts debug_info.split("\n").map {|s| "BUNDLER: " + " " * depth + s }
|
79
79
|
end
|
80
80
|
|
81
81
|
def debug?
|
@@ -106,18 +106,19 @@ module Bundler
|
|
106
106
|
specification.dependencies_for_activated_platforms
|
107
107
|
end
|
108
108
|
|
109
|
-
def search_for(
|
110
|
-
platform =
|
111
|
-
dependency =
|
112
|
-
|
109
|
+
def search_for(dependency_proxy)
|
110
|
+
platform = dependency_proxy.__platform
|
111
|
+
dependency = dependency_proxy.dep
|
112
|
+
@search_for[dependency_proxy] ||= begin
|
113
|
+
name = dependency.name
|
113
114
|
index = index_for(dependency)
|
114
|
-
results = index.search(dependency, @base[
|
115
|
+
results = index.search(dependency, @base[name])
|
115
116
|
|
116
|
-
if vertex = @base_dg.vertex_named(
|
117
|
+
if vertex = @base_dg.vertex_named(name)
|
117
118
|
locked_requirement = vertex.payload.requirement
|
118
119
|
end
|
119
120
|
|
120
|
-
if !@prerelease_specified[
|
121
|
+
if !@prerelease_specified[name] && (!@use_gvp || locked_requirement.nil?)
|
121
122
|
# Move prereleases to the beginning of the list, so they're considered
|
122
123
|
# last during resolution.
|
123
124
|
pre, results = results.partition {|spec| spec.version.prerelease? }
|
@@ -145,31 +146,25 @@ module Bundler
|
|
145
146
|
end
|
146
147
|
# GVP handles major itself, but it's still a bit risky to trust it with it
|
147
148
|
# until we get it settled with new behavior. For 2.x it can take over all cases.
|
148
|
-
if !@use_gvp
|
149
|
+
search = if !@use_gvp
|
149
150
|
spec_groups
|
150
151
|
else
|
151
152
|
@gem_version_promoter.sort_versions(dependency, spec_groups)
|
152
153
|
end
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
if sg_all_platforms.nil?
|
165
|
-
sg_all_platforms = sg.copy_for(other_platform)
|
166
|
-
else
|
167
|
-
sg_all_platforms.activate_platform!(other_platform)
|
168
|
-
end
|
154
|
+
selected_sgs = []
|
155
|
+
search.each do |sg|
|
156
|
+
next unless sg.for?(platform)
|
157
|
+
sg_all_platforms = sg.copy_for(self.class.sort_platforms(@platforms).reverse)
|
158
|
+
selected_sgs << sg_all_platforms
|
159
|
+
|
160
|
+
next if sg_all_platforms.activated_platforms == [Gem::Platform::RUBY]
|
161
|
+
# Add a spec group for "non platform specific spec" as the fallback
|
162
|
+
# spec group.
|
163
|
+
sg_ruby = sg.copy_for([Gem::Platform::RUBY])
|
164
|
+
selected_sgs.insert(-2, sg_ruby) if sg_ruby
|
169
165
|
end
|
170
|
-
selected_sgs
|
166
|
+
selected_sgs
|
171
167
|
end
|
172
|
-
selected_sgs
|
173
168
|
end
|
174
169
|
|
175
170
|
def index_for(dependency)
|
@@ -6,7 +6,7 @@ module Bundler
|
|
6
6
|
include GemHelpers
|
7
7
|
|
8
8
|
attr_accessor :name, :version, :source
|
9
|
-
attr_accessor :ignores_bundler_dependencies
|
9
|
+
attr_accessor :ignores_bundler_dependencies, :activated_platforms
|
10
10
|
|
11
11
|
def initialize(all_specs)
|
12
12
|
@all_specs = all_specs
|
@@ -32,17 +32,13 @@ module Bundler
|
|
32
32
|
end.compact.uniq
|
33
33
|
end
|
34
34
|
|
35
|
-
def
|
36
|
-
|
37
|
-
return
|
38
|
-
@activated_platforms << platform
|
39
|
-
end
|
35
|
+
def copy_for(platforms)
|
36
|
+
platforms.select! {|p| for?(p) }
|
37
|
+
return unless platforms.any?
|
40
38
|
|
41
|
-
def copy_for(platform)
|
42
39
|
copied_sg = self.class.new(@all_specs)
|
43
40
|
copied_sg.ignores_bundler_dependencies = @ignores_bundler_dependencies
|
44
|
-
|
45
|
-
copied_sg.activate_platform!(platform)
|
41
|
+
copied_sg.activated_platforms = platforms
|
46
42
|
copied_sg
|
47
43
|
end
|
48
44
|
|
@@ -159,7 +159,14 @@ class Bundler::Persistent::Net::HTTP::Persistent
|
|
159
159
|
# limits (typically windows).
|
160
160
|
|
161
161
|
if Process.const_defined? :RLIMIT_NOFILE
|
162
|
-
|
162
|
+
open_file_limits = Process.getrlimit(Process::RLIMIT_NOFILE)
|
163
|
+
|
164
|
+
# Under JRuby on Windows Process responds to `getrlimit` but returns something that does not match docs
|
165
|
+
if open_file_limits.respond_to?(:first)
|
166
|
+
DEFAULT_POOL_SIZE = open_file_limits.first / 4
|
167
|
+
else
|
168
|
+
DEFAULT_POOL_SIZE = 256
|
169
|
+
end
|
163
170
|
else
|
164
171
|
DEFAULT_POOL_SIZE = 256
|
165
172
|
end
|
data/lib/rubygems.rb
CHANGED
@@ -52,7 +52,7 @@ class Gem::Resolver::APISet < Gem::Resolver::Set
|
|
52
52
|
end
|
53
53
|
|
54
54
|
versions(req.name).each do |ver|
|
55
|
-
if req.dependency.match? req.name, ver[:number]
|
55
|
+
if req.dependency.match? req.name, ver[:number], @prerelease
|
56
56
|
res << Gem::Resolver::APISpecification.new(self, ver)
|
57
57
|
end
|
58
58
|
end
|
data/lib/rubygems/server.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'webrick'
|
3
2
|
require 'zlib'
|
4
3
|
require 'erb'
|
5
4
|
require 'uri'
|
@@ -429,6 +428,12 @@ div.method-source-code pre { color: #ffdead; overflow: hidden; }
|
|
429
428
|
end
|
430
429
|
|
431
430
|
def initialize(gem_dirs, port, daemon, launch = nil, addresses = nil)
|
431
|
+
begin
|
432
|
+
require 'webrick'
|
433
|
+
rescue LoadError
|
434
|
+
abort "webrick is not found. You may need to `gem install webrick` to install webrick."
|
435
|
+
end
|
436
|
+
|
432
437
|
Gem::RDoc.load_rdoc
|
433
438
|
Socket.do_not_reverse_lookup = true
|
434
439
|
|
data/lib/rubygems/source.rb
CHANGED
data/rubygems-update.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "rubygems-update"
|
5
|
-
s.version = "3.2.
|
5
|
+
s.version = "3.2.1"
|
6
6
|
s.authors = ["Jim Weirich", "Chad Fowler", "Eric Hodel", "Luis Lavena", "Aaron Patterson", "Samuel Giddins", "André Arko", "Evan Phoenix", "Hiroshi SHIBATA"]
|
7
7
|
s.email = ["", "", "drbrain@segment7.net", "luislavena@gmail.com", "aaron@tenderlovemaking.com", "segiddins@segiddins.me", "andre@arko.net", "evan@phx.io", "hsbt@ruby-lang.org"]
|
8
8
|
|
@@ -55,6 +55,35 @@ class TestGemResolverAPISet < Gem::TestCase
|
|
55
55
|
assert_equal expected, set.find_all(a_dep)
|
56
56
|
end
|
57
57
|
|
58
|
+
def test_find_all_prereleases
|
59
|
+
spec_fetcher
|
60
|
+
|
61
|
+
data = [
|
62
|
+
{ :name => 'a',
|
63
|
+
:number => '1',
|
64
|
+
:platform => 'ruby',
|
65
|
+
:dependencies => [] },
|
66
|
+
{ :name => 'a',
|
67
|
+
:number => '2.a',
|
68
|
+
:platform => 'ruby',
|
69
|
+
:dependencies => [] },
|
70
|
+
]
|
71
|
+
|
72
|
+
@fetcher.data["#{@dep_uri}?gems=a"] = Marshal.dump data
|
73
|
+
|
74
|
+
set = @DR::APISet.new @dep_uri
|
75
|
+
set.prerelease = true
|
76
|
+
|
77
|
+
a_dep = @DR::DependencyRequest.new dep('a'), nil
|
78
|
+
|
79
|
+
expected = [
|
80
|
+
@DR::APISpecification.new(set, data.first),
|
81
|
+
@DR::APISpecification.new(set, data.last),
|
82
|
+
]
|
83
|
+
|
84
|
+
assert_equal expected, set.find_all(a_dep)
|
85
|
+
end
|
86
|
+
|
58
87
|
def test_find_all_cache
|
59
88
|
spec_fetcher
|
60
89
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubygems-update
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Weirich
|
@@ -13,10 +13,10 @@ authors:
|
|
13
13
|
- André Arko
|
14
14
|
- Evan Phoenix
|
15
15
|
- Hiroshi SHIBATA
|
16
|
-
autorequire:
|
16
|
+
autorequire:
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
|
-
date: 2020-12-
|
19
|
+
date: 2020-12-14 00:00:00.000000000 Z
|
20
20
|
dependencies: []
|
21
21
|
description: |-
|
22
22
|
A package (also known as a library) contains a set of functionality
|
@@ -53,30 +53,30 @@ extra_rdoc_files:
|
|
53
53
|
- bundler/LICENSE.md
|
54
54
|
- bundler/README.md
|
55
55
|
- hide_lib_for_update/note.txt
|
56
|
+
- bundler/man/bundle-init.1
|
56
57
|
- bundler/man/bundle-add.1
|
57
|
-
- bundler/man/bundle-
|
58
|
-
- bundler/man/bundle-
|
58
|
+
- bundler/man/bundle-remove.1
|
59
|
+
- bundler/man/bundle-info.1
|
60
|
+
- bundler/man/bundle.1
|
59
61
|
- bundler/man/bundle-check.1
|
60
|
-
- bundler/man/bundle-clean.1
|
61
|
-
- bundler/man/bundle-config.1
|
62
|
-
- bundler/man/bundle-doctor.1
|
63
62
|
- bundler/man/bundle-exec.1
|
63
|
+
- bundler/man/bundle-show.1
|
64
|
+
- bundler/man/bundle-outdated.1
|
65
|
+
- bundler/man/bundle-platform.1
|
64
66
|
- bundler/man/bundle-gem.1
|
65
|
-
- bundler/man/bundle-info.1
|
66
|
-
- bundler/man/bundle-init.1
|
67
67
|
- bundler/man/bundle-inject.1
|
68
|
-
- bundler/man/bundle-
|
69
|
-
- bundler/man/bundle-
|
68
|
+
- bundler/man/bundle-binstubs.1
|
69
|
+
- bundler/man/bundle-doctor.1
|
70
70
|
- bundler/man/bundle-lock.1
|
71
|
-
- bundler/man/bundle-open.1
|
72
|
-
- bundler/man/bundle-outdated.1
|
73
|
-
- bundler/man/bundle-platform.1
|
74
|
-
- bundler/man/bundle-pristine.1
|
75
|
-
- bundler/man/bundle-remove.1
|
76
|
-
- bundler/man/bundle-show.1
|
77
|
-
- bundler/man/bundle-update.1
|
78
71
|
- bundler/man/bundle-viz.1
|
79
|
-
- bundler/man/bundle.1
|
72
|
+
- bundler/man/bundle-config.1
|
73
|
+
- bundler/man/bundle-list.1
|
74
|
+
- bundler/man/bundle-clean.1
|
75
|
+
- bundler/man/bundle-update.1
|
76
|
+
- bundler/man/bundle-pristine.1
|
77
|
+
- bundler/man/bundle-open.1
|
78
|
+
- bundler/man/bundle-cache.1
|
79
|
+
- bundler/man/bundle-install.1
|
80
80
|
files:
|
81
81
|
- CODE_OF_CONDUCT.md
|
82
82
|
- CONTRIBUTING.md
|
@@ -767,7 +767,7 @@ licenses:
|
|
767
767
|
- Ruby
|
768
768
|
- MIT
|
769
769
|
metadata: {}
|
770
|
-
post_install_message:
|
770
|
+
post_install_message:
|
771
771
|
rdoc_options:
|
772
772
|
- "--main"
|
773
773
|
- README.md
|
@@ -786,7 +786,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
786
786
|
version: '0'
|
787
787
|
requirements: []
|
788
788
|
rubygems_version: 3.2.0
|
789
|
-
signing_key:
|
789
|
+
signing_key:
|
790
790
|
specification_version: 4
|
791
791
|
summary: RubyGems is a package management framework for Ruby.
|
792
792
|
test_files: []
|