rubygems-update 3.0.3 → 3.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -0
- data/.travis.yml +2 -0
- data/CODE_OF_CONDUCT.md +10 -8
- data/CONTRIBUTING.md +7 -0
- data/History.txt +152 -0
- data/Manifest.txt +5 -3
- data/README.md +6 -0
- data/Rakefile +27 -7
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/lib/rubygems.rb +7 -12
- data/lib/rubygems/command_manager.rb +6 -0
- data/lib/rubygems/commands/build_command.rb +28 -13
- data/lib/rubygems/commands/owner_command.rb +2 -0
- data/lib/rubygems/commands/push_command.rb +2 -0
- data/lib/rubygems/commands/setup_command.rb +9 -11
- data/lib/rubygems/commands/uninstall_command.rb +16 -6
- data/lib/rubygems/commands/which_command.rb +1 -3
- data/lib/rubygems/defaults.rb +1 -8
- data/lib/rubygems/dependency.rb +1 -1
- data/lib/rubygems/dependency_installer.rb +1 -2
- data/lib/rubygems/dependency_list.rb +1 -1
- data/lib/rubygems/exceptions.rb +0 -4
- data/lib/rubygems/gemcutter_utilities.rb +9 -5
- data/lib/rubygems/installer.rb +8 -5
- data/lib/rubygems/installer_test_case.rb +2 -2
- data/lib/rubygems/package/tar_header.rb +11 -2
- data/lib/rubygems/rdoc.rb +2 -2
- data/lib/rubygems/remote_fetcher.rb +15 -54
- data/lib/rubygems/request.rb +1 -1
- data/lib/rubygems/request_set/gem_dependency_api.rb +11 -10
- data/lib/rubygems/requirement.rb +0 -4
- data/lib/rubygems/resolver.rb +4 -1
- data/lib/rubygems/s3_uri_signer.rb +183 -0
- data/lib/rubygems/security_option.rb +0 -1
- data/lib/rubygems/specification.rb +21 -23
- data/lib/rubygems/ssl_certs/{index.rubygems.org → rubygems.org}/GlobalSignRootCA.pem +0 -0
- data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
- data/lib/rubygems/stub_specification.rb +1 -2
- data/lib/rubygems/test_case.rb +22 -12
- data/lib/rubygems/uninstaller.rb +1 -1
- data/lib/rubygems/util.rb +12 -0
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/ca_cert.pem +74 -65
- data/test/rubygems/client.pem +103 -45
- data/test/rubygems/ssl_cert.pem +78 -17
- data/test/rubygems/ssl_key.pem +25 -13
- data/test/rubygems/test_bundled_ca.rb +8 -5
- data/test/rubygems/test_gem.rb +45 -11
- data/test/rubygems/test_gem_bundler_version_finder.rb +4 -0
- data/test/rubygems/test_gem_command_manager.rb +10 -0
- data/test/rubygems/test_gem_commands_build_command.rb +1 -0
- data/test/rubygems/test_gem_commands_push_command.rb +15 -0
- data/test/rubygems/test_gem_commands_setup_command.rb +11 -7
- data/test/rubygems/test_gem_commands_uninstall_command.rb +80 -1
- data/test/rubygems/test_gem_ext_cmake_builder.rb +1 -1
- data/test/rubygems/test_gem_indexer.rb +15 -8
- data/test/rubygems/test_gem_installer.rb +85 -22
- data/test/rubygems/test_gem_package_tar_header.rb +41 -0
- data/test/rubygems/test_gem_rdoc.rb +1 -135
- data/test/rubygems/test_gem_remote_fetcher.rb +133 -14
- data/test/rubygems/test_gem_request.rb +4 -4
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +80 -57
- data/test/rubygems/test_gem_security_policy.rb +1 -1
- data/test/rubygems/test_gem_specification.rb +29 -0
- data/test/rubygems/test_gem_stream_ui.rb +2 -2
- data/test/rubygems/test_gem_uninstaller.rb +21 -2
- data/test/rubygems/test_gem_util.rb +8 -0
- data/util/ci +6 -1
- data/util/cops/deprecations.rb +52 -0
- data/util/create_certs.sh +27 -0
- data/util/create_encrypted_key.rb +4 -4
- data/util/update_bundled_ca_certificates.rb +1 -3
- metadata +12 -57
- data/bundler/man/bundle-add.1 +0 -58
- data/bundler/man/bundle-binstubs.1 +0 -40
- data/bundler/man/bundle-check.1 +0 -31
- data/bundler/man/bundle-clean.1 +0 -24
- data/bundler/man/bundle-config.1 +0 -497
- data/bundler/man/bundle-doctor.1 +0 -44
- data/bundler/man/bundle-exec.1 +0 -165
- data/bundler/man/bundle-gem.1 +0 -80
- data/bundler/man/bundle-info.1 +0 -20
- data/bundler/man/bundle-init.1 +0 -25
- data/bundler/man/bundle-inject.1 +0 -33
- data/bundler/man/bundle-install.1 +0 -308
- data/bundler/man/bundle-list.1 +0 -50
- data/bundler/man/bundle-lock.1 +0 -84
- data/bundler/man/bundle-open.1 +0 -32
- data/bundler/man/bundle-outdated.1 +0 -155
- data/bundler/man/bundle-package.1 +0 -55
- data/bundler/man/bundle-platform.1 +0 -61
- data/bundler/man/bundle-pristine.1 +0 -34
- data/bundler/man/bundle-remove.1 +0 -31
- data/bundler/man/bundle-show.1 +0 -23
- data/bundler/man/bundle-update.1 +0 -394
- data/bundler/man/bundle-viz.1 +0 -39
- data/bundler/man/bundle.1 +0 -136
- data/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
- data/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0e1fcd26ebdb712316751bc03f488cc9d81bec96aa3e2a05be9744daea7a0c9f
|
4
|
+
data.tar.gz: d54a3231c23976e9c5d1fe04ffeb2f0924706c4d5aebfa0f5d367fd8c94a805b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9603fa015ec2c7a56aa30512366bbb3d16246d12084ae01424b94505b41c71886d3676055d81ecb3bc3b3a4c39fa2e330e00117a457cdeb957cb4e0877d67970
|
7
|
+
data.tar.gz: 796d607c5e7b69cd9f7e3886c2d1705e9d4df0ded3bf24f0648c2cd29cf52d9f4a284721abd74a62a2598e7a67b055b8d58c096db574ee6ba271d6adfba5d196
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
data/CODE_OF_CONDUCT.md
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# Contributor Code of Conduct
|
2
2
|
|
3
|
-
|
3
|
+
## Our Pledge
|
4
4
|
|
5
|
-
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
5
|
+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
6
6
|
|
7
|
-
|
7
|
+
## Our Standards
|
8
8
|
|
9
9
|
Examples of behavior that contributes to creating a positive environment include:
|
10
10
|
|
@@ -22,22 +22,24 @@ Examples of unacceptable behavior by participants include:
|
|
22
22
|
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
23
23
|
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
24
24
|
|
25
|
-
|
25
|
+
## Our Responsibilities
|
26
26
|
|
27
27
|
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
28
28
|
|
29
29
|
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
30
30
|
|
31
|
-
|
31
|
+
## Scope
|
32
32
|
|
33
33
|
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
34
34
|
|
35
|
-
|
35
|
+
## Enforcement
|
36
36
|
|
37
37
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the [project team](MAINTAINERS.txt). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
38
38
|
|
39
39
|
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
40
40
|
|
41
|
-
|
41
|
+
## Attribution
|
42
42
|
|
43
|
-
This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at
|
43
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
44
|
+
|
45
|
+
[homepage]: https://www.contributor-covenant.org
|
data/CONTRIBUTING.md
CHANGED
@@ -37,6 +37,13 @@ To run commands like `gem install` from the repo:
|
|
37
37
|
|
38
38
|
$ ruby -Ilib bin/gem install
|
39
39
|
|
40
|
+
To run bundler test:
|
41
|
+
|
42
|
+
$ cd bundler
|
43
|
+
$ git submodule update --init --recursive
|
44
|
+
$ bin/rake spec:deps
|
45
|
+
$ bin/rspec spec
|
46
|
+
|
40
47
|
## Issues
|
41
48
|
|
42
49
|
RubyGems uses labels to track all issues and pull requests. In order to
|
data/History.txt
CHANGED
@@ -1,5 +1,157 @@
|
|
1
1
|
# coding: UTF-8
|
2
2
|
|
3
|
+
=== 3.0.9 / 2020-12-09
|
4
|
+
|
5
|
+
Minor enhancements:
|
6
|
+
|
7
|
+
* Add GlobalSign Root CA - R3 cert and remove outdated certs. Pull request #4100
|
8
|
+
by Aditya Prakash.
|
9
|
+
|
10
|
+
=== 3.0.8 / 2020-02-19
|
11
|
+
|
12
|
+
Bug fixes:
|
13
|
+
|
14
|
+
* Gem::Specification#to_ruby needs OpenSSL. Pull request #2937 by
|
15
|
+
Nobuyoshi Nakada.
|
16
|
+
|
17
|
+
=== 3.0.7 / 2020-02-18
|
18
|
+
|
19
|
+
Bug fixes:
|
20
|
+
|
21
|
+
* Fix underscore version selection for bundler #2908 by David Rodríguez.
|
22
|
+
* Add missing wrapper. Pull request #2690 by David Rodríguez.
|
23
|
+
* Make Gem::Specification#ruby_code handle OpenSSL::PKey::RSA objects.
|
24
|
+
Pull request #2782 by Luis Sagastume.
|
25
|
+
* Installer.rb - fix #windows_stub_script. Pull request #2876 by MSP-Greg.
|
26
|
+
* Use IAM role to extract security-credentials for EC2 instance. Pull
|
27
|
+
request #2894 by Alexander Pakulov.
|
28
|
+
|
29
|
+
=== 3.0.6 / 2019-08-17
|
30
|
+
|
31
|
+
Bug fixes:
|
32
|
+
|
33
|
+
* Revert #2813. It broke the compatibility with 3.0.x versions.
|
34
|
+
|
35
|
+
=== 3.0.5 / 2019-08-16
|
36
|
+
|
37
|
+
Minor enhancements:
|
38
|
+
|
39
|
+
* Use env var to configure api key on push. Pull request #2559 by Luis
|
40
|
+
Sagastume.
|
41
|
+
* Unswallow uninstall error. Pull request #2707 by David Rodríguez.
|
42
|
+
* Expose windows path normalization utility. Pull request #2767 by David
|
43
|
+
Rodríguez.
|
44
|
+
* Clean which command. Pull request #2801 by Luis Sagastume.
|
45
|
+
* Upgrading S3 source signature to AWS SigV4. Pull request #2807 by
|
46
|
+
Alexander Pakulov.
|
47
|
+
* Remove missleading comment, no reason to move Gem.host to Gem::Util.
|
48
|
+
Pull request #2811 by Luis Sagastume.
|
49
|
+
* Drop support for 'gem env packageversion'. Pull request #2813 by Luis
|
50
|
+
Sagastume.
|
51
|
+
* Take into account just git tracked files in update_manifest rake task.
|
52
|
+
Pull request #2816 by Luis Sagastume.
|
53
|
+
* Remove TODO comment, there's no Gem::Dirs constant. Pull request #2819
|
54
|
+
by Luis Sagastume.
|
55
|
+
* Remove unused 'raise' from test_case. Pull request #2820 by Luis
|
56
|
+
Sagastume.
|
57
|
+
* Move TODO comment to an information comment. Pull request #2821 by Luis
|
58
|
+
Sagastume.
|
59
|
+
* Use File#open instead of Kernel#open in stub_specification.rb. Pull
|
60
|
+
request #2834 by Luis Sagastume.
|
61
|
+
* Make error code a gemcutter_utilities a constant. Pull request #2844 by
|
62
|
+
Luis Sagastume.
|
63
|
+
* Remove FIXME comment related to PathSupport. Pull request #2854 by Luis
|
64
|
+
Sagastume.
|
65
|
+
* Use gsub with Hash. Pull request #2860 by Kazuhiro NISHIYAMA.
|
66
|
+
* Use the standard RUBY_ENGINE_VERSION instead of JRUBY_VERSION. Pull
|
67
|
+
request #2864 by Benoit Daloze.
|
68
|
+
* Do not mutate uri.query during s3 signature creation. Pull request #2874
|
69
|
+
by Alexander Pakulov.
|
70
|
+
* Fixup #2844. Pull request #2878 by SHIBATA Hiroshi.
|
71
|
+
|
72
|
+
Bug fixes:
|
73
|
+
|
74
|
+
* Fix intermittent test error on Appveyor & Travis. Pull request #2568 by
|
75
|
+
MSP-Greg.
|
76
|
+
* Extend timeout on assert_self_install_permissions. Pull request #2605 by
|
77
|
+
SHIBATA Hiroshi.
|
78
|
+
* Better folder assertions. Pull request #2644 by David Rodríguez.
|
79
|
+
* Fix default gem executable installation when folder is not `bin/`. Pull
|
80
|
+
request #2649 by David Rodríguez.
|
81
|
+
* Fix gem uninstall behavior. Pull request #2663 by Luis Sagastume.
|
82
|
+
* Fix for large values in UID/GID fields in tar archives. Pull request
|
83
|
+
#2780 by Alexey Shein.
|
84
|
+
* Fixed task order for release. Pull request #2792 by SHIBATA Hiroshi.
|
85
|
+
* Ignore GEMRC variable for test suite. Pull request #2837 by SHIBATA
|
86
|
+
Hiroshi.
|
87
|
+
|
88
|
+
=== 3.0.4 / 2019-06-14
|
89
|
+
|
90
|
+
Minor enhancements:
|
91
|
+
|
92
|
+
* Add support for TruffleRuby #2612 by Benoit Daloze
|
93
|
+
* Serve a more descriptive error when --no-ri or --no-rdoc are used #2572
|
94
|
+
by Grey Baker
|
95
|
+
* Improve test compatibility with CMake 2.8. Pull request #2590 by Vít
|
96
|
+
Ondruch.
|
97
|
+
* Restore gem build behavior and introduce the "-C" flag to gem build.
|
98
|
+
Pull request #2596 by Luis Sagastume.
|
99
|
+
* Enabled block call with util_set_arch. Pull request #2603 by SHIBATA
|
100
|
+
Hiroshi.
|
101
|
+
* Avoid rdoc hook when it's failed to load rdoc library. Pull request
|
102
|
+
#2604 by SHIBATA Hiroshi.
|
103
|
+
* Drop tests for legacy RDoc. Pull request #2608 by Nobuyoshi Nakada.
|
104
|
+
* Update TODO comment. Pull request #2658 by Luis Sagastume.
|
105
|
+
* Skip malicious extension test with mswin platform. Pull request #2670 by
|
106
|
+
SHIBATA Hiroshi.
|
107
|
+
* Check deprecated methods on release. Pull request #2673 by David
|
108
|
+
Rodríguez.
|
109
|
+
* Add steps to run bundler tests. Pull request #2680 by Aditya Prakash.
|
110
|
+
* Skip temporary "No such host is known" error. Pull request #2684 by
|
111
|
+
Takashi Kokubun.
|
112
|
+
* Replaced aws-sdk-s3 instead of s3cmd. Pull request #2688 by SHIBATA
|
113
|
+
Hiroshi.
|
114
|
+
* Allow uninstall from symlinked GEM_HOME. Pull request #2720 by David
|
115
|
+
Rodríguez.
|
116
|
+
* Use current checkout in CI to uninstall RVM related gems. Pull request
|
117
|
+
#2729 by David Rodríguez.
|
118
|
+
* Update Contributor Covenant v1.4.1. Pull request #2751 by SHIBATA
|
119
|
+
Hiroshi.
|
120
|
+
* Added supported versions of Ruby. Pull request #2756 by SHIBATA Hiroshi.
|
121
|
+
* Fix shadowing outer local variable warning. Pull request #2763 by Luis
|
122
|
+
Sagastume.
|
123
|
+
* Update the certificate files to make the test pass on Debian 10. Pull
|
124
|
+
request #2777 by Yusuke Endoh.
|
125
|
+
* Backport ruby core changes. Pull request #2778 by SHIBATA Hiroshi.
|
126
|
+
|
127
|
+
Bug fixes:
|
128
|
+
|
129
|
+
* Test_gem.rb - intermittent failure fix. Pull request #2613 by MSP-Greg.
|
130
|
+
* Fix sporadic CI failures. Pull request #2617 by David Rodríguez.
|
131
|
+
* Fix flaky bundler version finder tests. Pull request #2624 by David
|
132
|
+
Rodríguez.
|
133
|
+
* Fix gem indexer tests leaking utility gems. Pull request #2625 by David
|
134
|
+
Rodríguez.
|
135
|
+
* Clean up default spec dir too. Pull request #2639 by David Rodríguez.
|
136
|
+
* Fix 2.6.1 build against vendored bundler. Pull request #2645 by David
|
137
|
+
Rodríguez.
|
138
|
+
* Fix comment typo. Pull request #2664 by Luis Sagastume.
|
139
|
+
* Fix comment of Gem::Specification#required_ruby_version=. Pull request
|
140
|
+
#2732 by Alex Junger.
|
141
|
+
* Fix TODOs. Pull request #2748 by David Rodríguez.
|
142
|
+
|
143
|
+
=== 3.0.3 / 2019-03-05
|
144
|
+
|
145
|
+
Security fixes:
|
146
|
+
|
147
|
+
* Fixed following vulnerabilities:
|
148
|
+
* CVE-2019-8320: Delete directory using symlink when decompressing tar
|
149
|
+
* CVE-2019-8321: Escape sequence injection vulnerability in `verbose`
|
150
|
+
* CVE-2019-8322: Escape sequence injection vulnerability in `gem owner`
|
151
|
+
* CVE-2019-8323: Escape sequence injection vulnerability in API response handling
|
152
|
+
* CVE-2019-8324: Installing a malicious gem may lead to arbitrary code execution
|
153
|
+
* CVE-2019-8325: Escape sequence injection vulnerability in errors
|
154
|
+
|
3
155
|
=== 3.0.2 / 2019-01-01
|
4
156
|
|
5
157
|
Minor enhancements:
|
data/Manifest.txt
CHANGED
@@ -413,6 +413,7 @@ lib/rubygems/resolver/specification.rb
|
|
413
413
|
lib/rubygems/resolver/stats.rb
|
414
414
|
lib/rubygems/resolver/vendor_set.rb
|
415
415
|
lib/rubygems/resolver/vendor_specification.rb
|
416
|
+
lib/rubygems/s3_uri_signer.rb
|
416
417
|
lib/rubygems/safe_yaml.rb
|
417
418
|
lib/rubygems/security.rb
|
418
419
|
lib/rubygems/security/policies.rb
|
@@ -435,9 +436,8 @@ lib/rubygems/spec_fetcher.rb
|
|
435
436
|
lib/rubygems/specification.rb
|
436
437
|
lib/rubygems/specification_policy.rb
|
437
438
|
lib/rubygems/ssl_certs/.document
|
438
|
-
lib/rubygems/ssl_certs/
|
439
|
-
lib/rubygems/ssl_certs/rubygems.
|
440
|
-
lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem
|
439
|
+
lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem
|
440
|
+
lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem
|
441
441
|
lib/rubygems/stub_specification.rb
|
442
442
|
lib/rubygems/syck_hack.rb
|
443
443
|
lib/rubygems/test_case.rb
|
@@ -639,7 +639,9 @@ test/rubygems/wrong_key_cert.pem
|
|
639
639
|
test/rubygems/wrong_key_cert_32.pem
|
640
640
|
util/CL2notes
|
641
641
|
util/ci
|
642
|
+
util/cops/deprecations.rb
|
642
643
|
util/create_certs.rb
|
644
|
+
util/create_certs.sh
|
643
645
|
util/create_encrypted_key.rb
|
644
646
|
util/generate_spdx_license_list.rb
|
645
647
|
util/patch_with_prs.rb
|
data/README.md
CHANGED
@@ -25,6 +25,12 @@ Finally, inside your Ruby program, load the Nokogiri gem and start parsing your
|
|
25
25
|
|
26
26
|
For more information about how to use RubyGems, see our RubyGems basics guide at [guides.rubygems.org](http://guides.rubygems.org/rubygems-basics/)
|
27
27
|
|
28
|
+
## Requirements
|
29
|
+
|
30
|
+
* RubyGems 2.6 supports Ruby 2.4 or lower.
|
31
|
+
* RubyGems 2.7 supports Ruby 2.5 or lower.
|
32
|
+
* RubyGems 3.0 supports Ruby 2.3 or later.
|
33
|
+
|
28
34
|
## Installation
|
29
35
|
|
30
36
|
RubyGems is likely already installed in your Ruby environment, you can check by running `gem --version` in your terminal emulator.
|
data/Rakefile
CHANGED
@@ -79,15 +79,24 @@ end
|
|
79
79
|
# --------------------------------------------------------------------
|
80
80
|
# Creating a release
|
81
81
|
|
82
|
-
task :prerelease => %w[clobber test bundler:build_metadata]
|
82
|
+
task :prerelease => %w[clobber test bundler:build_metadata check_deprecations]
|
83
83
|
task :postrelease => %w[bundler:build_metadata:clean upload guides:publish blog:publish]
|
84
84
|
|
85
|
+
desc "Check for deprecated methods with expired deprecation horizon"
|
86
|
+
task :check_deprecations do
|
87
|
+
if v.segments[1] == 0 && v.segments[2] == 0
|
88
|
+
sh("util/rubocop -r ./util/cops/deprecations --only Rubygems/Deprecations")
|
89
|
+
else
|
90
|
+
puts "Skipping deprecation checks since not releasing a major version."
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
85
94
|
desc "Release rubygems-#{v}"
|
86
95
|
task :release => :prerelease do
|
87
96
|
Rake::Task["package"].invoke
|
88
97
|
sh "gem push pkg/rubygems-update-#{v}.gem"
|
98
|
+
Rake::Task["postrelease"].invoke
|
89
99
|
end
|
90
|
-
Rake::Task["release"].enhance(["postrelease"])
|
91
100
|
|
92
101
|
Gem::PackageTask.new(spec) {}
|
93
102
|
|
@@ -120,13 +129,23 @@ end
|
|
120
129
|
|
121
130
|
file "pkg/rubygems-#{v}.tgz" => "pkg/rubygems-#{v}" do
|
122
131
|
cd 'pkg' do
|
123
|
-
sh "tar -czf rubygems-#{v}.tgz rubygems-#{v}"
|
132
|
+
sh "tar -czf rubygems-#{v}.tgz --owner=rubygems:0 --group=rubygems:0 rubygems-#{v}"
|
124
133
|
end
|
125
134
|
end
|
126
135
|
|
127
136
|
desc "Upload release to S3"
|
128
137
|
task :upload_to_s3 do
|
129
|
-
|
138
|
+
begin
|
139
|
+
require "aws-sdk-s3"
|
140
|
+
rescue LoadError
|
141
|
+
abort "Install the aws-sdk-s3 gem to be able to upload gems to rubygems.org."
|
142
|
+
end
|
143
|
+
|
144
|
+
s3 = Aws::S3::Resource.new(region:'us-west-2')
|
145
|
+
%w[zip tgz].each do |ext|
|
146
|
+
obj = s3.bucket('oregon.production.s3.rubygems.org').object("rubygems/rubygems-#{v}.#{ext}")
|
147
|
+
obj.upload_file("pkg/rubygems-#{v}.#{ext}")
|
148
|
+
end
|
130
149
|
end
|
131
150
|
|
132
151
|
desc "Upload release to rubygems.org"
|
@@ -344,9 +363,10 @@ end
|
|
344
363
|
desc "Update the manifest to reflect what's on disk"
|
345
364
|
task :update_manifest do
|
346
365
|
files = []
|
347
|
-
|
348
|
-
|
349
|
-
|
366
|
+
exclude = %r[\.git|\./bundler/(?!lib|man|exe|[^/]+\.md|bundler.gemspec)]ox
|
367
|
+
tracked_files = `git ls-files --recurse-submodules`.split("\n").map {|f| "./#{f}" }
|
368
|
+
|
369
|
+
tracked_files.each do |path|
|
350
370
|
next unless File.file?(path)
|
351
371
|
next if path =~ exclude
|
352
372
|
files << path[2..-1]
|
@@ -4,8 +4,8 @@ module Bundler
|
|
4
4
|
# Represents metadata from when the Bundler gem was built.
|
5
5
|
module BuildMetadata
|
6
6
|
# begin ivars
|
7
|
-
@built_at = "
|
8
|
-
@git_commit_sha = "
|
7
|
+
@built_at = "2020-12-09".freeze
|
8
|
+
@git_commit_sha = "d7089abb6a".freeze
|
9
9
|
@release = false
|
10
10
|
# end ivars
|
11
11
|
|
data/lib/rubygems.rb
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
require 'rbconfig'
|
10
10
|
|
11
11
|
module Gem
|
12
|
-
VERSION = "3.0.
|
12
|
+
VERSION = "3.0.9".freeze
|
13
13
|
end
|
14
14
|
|
15
15
|
# Must be first since it unloads the prelude from 1.9.2
|
@@ -18,6 +18,7 @@ require 'rubygems/compatibility'
|
|
18
18
|
require 'rubygems/defaults'
|
19
19
|
require 'rubygems/deprecate'
|
20
20
|
require 'rubygems/errors'
|
21
|
+
require 'rubygems/path_support'
|
21
22
|
|
22
23
|
##
|
23
24
|
# RubyGems is the Ruby standard for publishing and managing third party
|
@@ -567,8 +568,6 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
567
568
|
#++
|
568
569
|
#--
|
569
570
|
#
|
570
|
-
# FIXME move to pathsupport
|
571
|
-
#
|
572
571
|
#++
|
573
572
|
|
574
573
|
def self.find_home
|
@@ -641,14 +640,12 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
641
640
|
# <tt>https://rubygems.org</tt>.
|
642
641
|
|
643
642
|
def self.host
|
644
|
-
# TODO: move to utils
|
645
643
|
@host ||= Gem::DEFAULT_HOST
|
646
644
|
end
|
647
645
|
|
648
646
|
## Set the default RubyGems API host.
|
649
647
|
|
650
648
|
def self.host=(host)
|
651
|
-
# TODO: move to utils
|
652
649
|
@host = host
|
653
650
|
end
|
654
651
|
|
@@ -1376,14 +1373,12 @@ begin
|
|
1376
1373
|
rescue LoadError
|
1377
1374
|
end
|
1378
1375
|
|
1379
|
-
|
1380
|
-
|
1381
|
-
|
1382
|
-
# Defaults the Ruby implementation wants to provide for RubyGems
|
1376
|
+
begin
|
1377
|
+
##
|
1378
|
+
# Defaults the Ruby implementation wants to provide for RubyGems
|
1383
1379
|
|
1384
|
-
|
1385
|
-
|
1386
|
-
end
|
1380
|
+
require "rubygems/defaults/#{RUBY_ENGINE}"
|
1381
|
+
rescue LoadError
|
1387
1382
|
end
|
1388
1383
|
|
1389
1384
|
##
|
@@ -169,6 +169,12 @@ class Gem::CommandManager
|
|
169
169
|
when '-v', '--version' then
|
170
170
|
say Gem::VERSION
|
171
171
|
terminate_interaction 0
|
172
|
+
when '--no-ri', '--no-rdoc' then
|
173
|
+
# This was added to compensate for a deprecation warning not being shown
|
174
|
+
# in Rubygems 2.x.x.
|
175
|
+
# TODO: Remove when Rubygems 3.1 is released.
|
176
|
+
alert_error "Invalid option: #{args.first}. Use --no-document instead."
|
177
|
+
terminate_interaction 1
|
172
178
|
when /^-/ then
|
173
179
|
alert_error clean_text("Invalid option: #{args.first}. See 'gem --help'.")
|
174
180
|
terminate_interaction 1
|
@@ -18,6 +18,10 @@ class Gem::Commands::BuildCommand < Gem::Command
|
|
18
18
|
add_option '-o', '--output FILE', 'output gem with the given filename' do |value, options|
|
19
19
|
options[:output] = value
|
20
20
|
end
|
21
|
+
|
22
|
+
add_option '-C PATH', '', 'Run as if gem build was started in <PATH> instead of the current working directory.' do |value, options|
|
23
|
+
options[:build_path] = value
|
24
|
+
end
|
21
25
|
end
|
22
26
|
|
23
27
|
def arguments # :nodoc:
|
@@ -60,25 +64,36 @@ Gems can be saved to a specified filename with the output option:
|
|
60
64
|
end
|
61
65
|
|
62
66
|
if File.exist? gemspec
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
Gem::
|
68
|
-
|
69
|
-
options[:force],
|
70
|
-
options[:strict],
|
71
|
-
options[:output]
|
72
|
-
)
|
73
|
-
else
|
74
|
-
alert_error "Error loading gemspec. Aborting."
|
75
|
-
terminate_interaction 1
|
67
|
+
spec = Gem::Specification.load(gemspec)
|
68
|
+
|
69
|
+
if options[:build_path]
|
70
|
+
Dir.chdir(File.dirname(gemspec)) do
|
71
|
+
spec = Gem::Specification.load File.basename(gemspec)
|
72
|
+
build_package(spec)
|
76
73
|
end
|
74
|
+
else
|
75
|
+
build_package(spec)
|
77
76
|
end
|
77
|
+
|
78
78
|
else
|
79
79
|
alert_error "Gemspec file not found: #{gemspec}"
|
80
80
|
terminate_interaction 1
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
|
+
private
|
85
|
+
|
86
|
+
def build_package(spec)
|
87
|
+
if spec
|
88
|
+
Gem::Package.build(
|
89
|
+
spec,
|
90
|
+
options[:force],
|
91
|
+
options[:strict],
|
92
|
+
options[:output]
|
93
|
+
)
|
94
|
+
else
|
95
|
+
alert_error "Error loading gemspec. Aborting."
|
96
|
+
terminate_interaction 1
|
97
|
+
end
|
98
|
+
end
|
84
99
|
end
|