rubygems-update 3.1.3 → 3.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 20050e3691c1f80c0d2efc9faae4569b86bb8fdc93f131fa889f7ae9df44765d
4
- data.tar.gz: a37197a0a4a4d629ec0e41bb5424252b4ee3dabc38ddf40541981696bf029f5d
3
+ metadata.gz: 4182b07cf1a7f54ac5ac57eb202fb98aeeec4cc8069e549a5f966f8496ff7e73
4
+ data.tar.gz: 7784e28ab8b43c6199702d49d531484304e4e0af5bbe3e35bb7626a93d704e64
5
5
  SHA512:
6
- metadata.gz: d201f0092d2c4fc16b8a2b32bda6d76c9fb549f7b5362af18f5b05265b63c7dd2f75401ec57cd410a203da9138e9fa7fad1220dbcdfcdd0f55718d0b723e762d
7
- data.tar.gz: 7ed04b369163a2d667229c2314c6542db90202be1db80df7f6d6d17c76e77fcb837c549e0d56c7fdfa05dd3facd4d2cfb4cbbb1d2485a0087657ccf51af6acc8
6
+ metadata.gz: 2cea3e83459b735337d934e1086cabf75979e6018edcb73fa1334b4ebbd107a7b8b316b9456b46f4d85b9a39d3988b77f32f4e87a6aa8cecbd3e6036cf2ee870
7
+ data.tar.gz: b0d7b6ac35d9c6bae856c2323bf48175945ff423302db5db729d07a5554df373de77489f4fbe23e442289646f51a9166c66a253be9132a0fbedb1a54e03b1d49
@@ -26,7 +26,7 @@ contributors to follow to reduce the time it takes to get changes merged in.
26
26
 
27
27
 
28
28
  For more information and ideas on how to contribute to RubyGems ecosystem, see
29
- here: http://guides.rubygems.org/contributing/
29
+ here: https://guides.rubygems.org/contributing/
30
30
 
31
31
  ## Getting Started
32
32
 
@@ -1,7 +1,31 @@
1
1
  # coding: UTF-8
2
2
 
3
+ === 3.1.4 / 2020-06-03
4
+
5
+ Minor enhancements:
6
+
7
+ * Deprecate rubyforge_project attribute only during build
8
+ time. Pull request #3609 by Josef Šimánek.
9
+ * Update links. Pull request #3610 by Josef Šimánek.
10
+ * Run CI at 3.1 branch head as well. Pull request #3677 by Josef Šimánek.
11
+ * Remove failing ubuntu-rvm CI flow. Pull request #3611 by
12
+ Josef Šimánek.
13
+
3
14
  === 3.1.3 / 2020-05-05
4
15
 
16
+ Minor enhancements:
17
+
18
+ * Resolver: require NameTuple before use. Pull request #3171 by Olle
19
+ Jonsson.
20
+ * Use absolute paths with autoload. Pull request #3100 by David Rodríguez.
21
+ * Avoid changing $SOURCE_DATE_EPOCH. Pull request #3088 by Ellen Marie
22
+ Dash.
23
+ * Use Bundler 2.1.4. Pull request #3072 by Hiroshi SHIBATA.
24
+ * Add tests to check if Gem.ruby_version works with ruby git master.
25
+ Pull request #3049 by Yusuke Endoh.
26
+
27
+ Bug fixes:
28
+
5
29
  * Fix platform comparison check in #contains_requirable_file?. Pull
6
30
  request #3495 by Benoit Daloze.
7
31
  * Improve gzip errors logging. Pull request #3485 by David Rodríguez.
@@ -9,16 +33,8 @@
9
33
  Rodríguez.
10
34
  * Fix incorrect bundler version being required. Pull request #3458 by
11
35
  David Rodríguez.
12
- * Resolver: require NameTuple before use. Pull request #3171 by Olle
13
- Jonsson.
14
- * Use absolute paths with autoload. Pull request #3100 by David Rodríguez.
15
- * Avoid changing $SOURCE_DATE_EPOCH. Pull request #3088 by Ellen Marie
16
- Dash.
17
- * Use Bundler 2.1.4. Pull request #3072 by Hiroshi SHIBATA.
18
36
  * Fix gem install from a gemdeps file with complex dependencies.
19
37
  Pull request #3054 by Luis Sagastume.
20
- * Add tests to check if Gem.ruby_version works with ruby git master.
21
- Pull request #3049 by Yusuke Endoh.
22
38
 
23
39
  === 3.1.2 / 2019-12-20
24
40
 
@@ -3556,10 +3572,10 @@ Bug fixes:
3556
3572
 
3557
3573
  NOTE:
3558
3574
 
3559
- http://rubygems.org is now the default source for downloading gems.
3575
+ https://rubygems.org/ is now the default source for downloading gems.
3560
3576
 
3561
3577
  You may have sources set via ~/.gemrc, so you should replace
3562
- http://gems.rubyforge.org with http://rubygems.org
3578
+ http://gems.rubyforge.org with https://rubygems.org/
3563
3579
 
3564
3580
  http://gems.rubyforge.org will continue to work for the foreseeable future.
3565
3581
 
@@ -566,6 +566,7 @@ test/rubygems/sff/discover.rb
566
566
  test/rubygems/simple_gem.rb
567
567
  test/rubygems/specifications/bar-0.0.2.gemspec
568
568
  test/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspec
569
+ test/rubygems/specifications/rubyforge-0.0.1.gemspec
569
570
  test/rubygems/ssl_cert.pem
570
571
  test/rubygems/ssl_key.pem
571
572
  test/rubygems/test_bundled_ca.rb
data/README.md CHANGED
@@ -6,7 +6,7 @@ A package (also known as a library) contains a set of functionality that can be
6
6
  We call these packages "gems" and RubyGems is a tool to install, create, manage and load these packages in your Ruby environment.
7
7
 
8
8
  RubyGems is also a client for [RubyGems.org](https://rubygems.org), a public repository of Gems that allows you to publish a Gem
9
- that can be shared and used by other developers. See our guide on publishing a Gem at [guides.rubygems.org](http://guides.rubygems.org/publishing/)
9
+ that can be shared and used by other developers. See our guide on publishing a Gem at [guides.rubygems.org](https://guides.rubygems.org/publishing/)
10
10
 
11
11
  ## Getting Started
12
12
 
@@ -23,7 +23,7 @@ Finally, inside your Ruby program, load the Nokogiri gem and start parsing your
23
23
 
24
24
  Nokogiri.XML('<h1>Hello World</h1>')
25
25
 
26
- For more information about how to use RubyGems, see our RubyGems basics guide at [guides.rubygems.org](http://guides.rubygems.org/rubygems-basics/)
26
+ For more information about how to use RubyGems, see our RubyGems basics guide at [guides.rubygems.org](https://guides.rubygems.org/rubygems-basics/)
27
27
 
28
28
  ## Requirements
29
29
 
@@ -65,10 +65,10 @@ See [UPGRADING](UPGRADING.md) for more details and alternative instructions.
65
65
  ## Documentation
66
66
 
67
67
  RubyGems uses [rdoc](https://github.com/rdoc/rdoc) for documentation. A compiled set of the docs
68
- can be viewed online at [rubydoc](http://www.rubydoc.info/github/rubygems/rubygems).
68
+ can be viewed online at [rubydoc](https://www.rubydoc.info/github/rubygems/rubygems).
69
69
 
70
70
  RubyGems also provides a comprehensive set of guides which covers numerous topics such as
71
- creating a new gem, security practices and other resources at http://guides.rubygems.org
71
+ creating a new gem, security practices and other resources at https://guides.rubygems.org
72
72
 
73
73
  ## Getting Help
74
74
 
data/Rakefile CHANGED
@@ -167,7 +167,7 @@ task :upload_to_s3 do
167
167
  s3 = Aws::S3::Resource.new(region:'us-west-2')
168
168
  %w[zip tgz].each do |ext|
169
169
  obj = s3.bucket('oregon.production.s3.rubygems.org').object("rubygems/rubygems-#{v}.#{ext}")
170
- obj.upload_file("pkg/rubygems-#{v}.#{ext}")
170
+ obj.upload_file("pkg/rubygems-#{v}.#{ext}", acl: 'public-read')
171
171
  end
172
172
  end
173
173
 
@@ -340,7 +340,7 @@ SHA256 Checksums:
340
340
 
341
341
  #{checksums}
342
342
 
343
- [download]: http://rubygems.org/pages/download
343
+ [download]: https://rubygems.org/pages/download
344
344
  [upgrading]: http://docs.seattlerb.org/rubygems/UPGRADING_rdoc.html
345
345
 
346
346
  ANNOUNCEMENT
@@ -4,7 +4,7 @@ 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-05-04".freeze
7
+ @built_at = "2020-06-03".freeze
8
8
  @git_commit_sha = "32a4159325".freeze
9
9
  @release = false
10
10
  # end ivars
@@ -9,7 +9,7 @@
9
9
  require 'rbconfig'
10
10
 
11
11
  module Gem
12
- VERSION = "3.1.3".freeze
12
+ VERSION = "3.1.4".freeze
13
13
  end
14
14
 
15
15
  # Must be first since it unloads the prelude from 1.9.2
@@ -26,19 +26,19 @@ require 'rubygems/errors'
26
26
  # For user documentation, see:
27
27
  #
28
28
  # * <tt>gem help</tt> and <tt>gem help [command]</tt>
29
- # * {RubyGems User Guide}[http://guides.rubygems.org/]
30
- # * {Frequently Asked Questions}[http://guides.rubygems.org/faqs]
29
+ # * {RubyGems User Guide}[https://guides.rubygems.org/]
30
+ # * {Frequently Asked Questions}[https://guides.rubygems.org/faqs]
31
31
  #
32
32
  # For gem developer documentation see:
33
33
  #
34
- # * {Creating Gems}[http://guides.rubygems.org/make-your-own-gem]
34
+ # * {Creating Gems}[https://guides.rubygems.org/make-your-own-gem]
35
35
  # * Gem::Specification
36
36
  # * Gem::Version for version dependency notes
37
37
  #
38
38
  # Further RubyGems documentation can be found at:
39
39
  #
40
- # * {RubyGems Guides}[http://guides.rubygems.org]
41
- # * {RubyGems API}[http://www.rubydoc.info/github/rubygems/rubygems] (also available from
40
+ # * {RubyGems Guides}[https://guides.rubygems.org]
41
+ # * {RubyGems API}[https://www.rubydoc.info/github/rubygems/rubygems] (also available from
42
42
  # <tt>gem server</tt>)
43
43
  #
44
44
  # == RubyGems Plugins
@@ -646,7 +646,7 @@ basic help message containing pointers to more information.
646
646
  http://localhost:8808/
647
647
  with info about installed gems
648
648
  Further information:
649
- http://guides.rubygems.org
649
+ https://guides.rubygems.org
650
650
  HELP
651
651
 
652
652
  # :startdoc:
@@ -38,7 +38,7 @@ Some examples of 'gem' usage.
38
38
 
39
39
  * Create a gem:
40
40
 
41
- See http://guides.rubygems.org/make-your-own-gem/
41
+ See https://guides.rubygems.org/make-your-own-gem/
42
42
 
43
43
  * See information about RubyGems:
44
44
 
@@ -136,7 +136,7 @@ RubyGems has been configured to serve gems via the following URLs through
136
136
  its history:
137
137
 
138
138
  * http://gems.rubyforge.org (RubyGems 1.3.6 and earlier)
139
- * http://rubygems.org (RubyGems 1.3.7 through 1.8.25)
139
+ * https://rubygems.org/ (RubyGems 1.3.7 through 1.8.25)
140
140
  * https://rubygems.org (RubyGems 2.0.1 and newer)
141
141
 
142
142
  Since all of these sources point to the same set of gems you only need one
@@ -153,8 +153,8 @@ before it is added.
153
153
 
154
154
  To remove a source use the --remove argument:
155
155
 
156
- $ gem sources --remove http://rubygems.org
157
- http://rubygems.org removed from sources
156
+ $ gem sources --remove https://rubygems.org/
157
+ https://rubygems.org/ removed from sources
158
158
 
159
159
  EOF
160
160
  end
@@ -23,7 +23,7 @@ class Gem::Resolver::APISet < Gem::Resolver::Set
23
23
  ##
24
24
  # Creates a new APISet that will retrieve gems from +uri+ using the RubyGems
25
25
  # API URL +dep_uri+ which is described at
26
- # http://guides.rubygems.org/rubygems-org-api
26
+ # https://guides.rubygems.org/rubygems-org-api
27
27
 
28
28
  def initialize(dep_uri = 'https://rubygems.org/api/v1/dependencies')
29
29
  super()
@@ -11,7 +11,7 @@ class Gem::Resolver::APISpecification < Gem::Resolver::Specification
11
11
  # Creates an APISpecification for the given +set+ from the rubygems.org
12
12
  # +api_data+.
13
13
  #
14
- # See http://guides.rubygems.org/rubygems-org-api/#misc_methods for the
14
+ # See https://guides.rubygems.org/rubygems-org-api/#misc_methods for the
15
15
  # format of the +api_data+.
16
16
 
17
17
  def initialize(set, api_data)
@@ -661,7 +661,7 @@ div.method-source-code pre { color: #ffdead; overflow: hidden; }
661
661
  "only_one_executable" => true,
662
662
  "full_name" => "rubygems-#{Gem::VERSION}",
663
663
  "has_deps" => false,
664
- "homepage" => "http://guides.rubygems.org/",
664
+ "homepage" => "https://guides.rubygems.org/",
665
665
  "name" => 'rubygems',
666
666
  "ri_installed" => true,
667
667
  "summary" => "RubyGems itself",
@@ -193,6 +193,12 @@ class Gem::Specification < Gem::BasicSpecification
193
193
  @@spec_with_requirable_file = {}
194
194
  @@active_stub_with_requirable_file = {}
195
195
 
196
+ # Tracking removed method calls to warn users during build time.
197
+ REMOVED_METHODS = [:rubyforge_project=].freeze # :nodoc:
198
+ def removed_method_calls
199
+ @removed_method_calls ||= []
200
+ end
201
+
196
202
  ######################################################################
197
203
  # :section: Required gemspec attributes
198
204
 
@@ -726,14 +732,6 @@ class Gem::Specification < Gem::BasicSpecification
726
732
 
727
733
  attr_writer :original_platform # :nodoc:
728
734
 
729
- ##
730
- # Deprecated and ignored.
731
- #
732
- # Formerly used to set rubyforge project.
733
-
734
- attr_writer :rubyforge_project
735
- deprecate :rubyforge_project=, :none, 2019, 12
736
-
737
735
  ##
738
736
  # The Gem::Specification version of this gemspec.
739
737
  #
@@ -2107,9 +2105,15 @@ class Gem::Specification < Gem::BasicSpecification
2107
2105
  end
2108
2106
 
2109
2107
  ##
2108
+ # Track removed method calls to warn about during build time.
2110
2109
  # Warn about unknown attributes while loading a spec.
2111
2110
 
2112
2111
  def method_missing(sym, *a, &b) # :nodoc:
2112
+ if REMOVED_METHODS.include?(sym)
2113
+ removed_method_calls << sym
2114
+ return
2115
+ end
2116
+
2113
2117
  if @specification_version > CURRENT_SPECIFICATION_VERSION and
2114
2118
  sym.to_s =~ /=$/
2115
2119
  warn "ignoring #{sym} loading #{full_name}" if $DEBUG
@@ -75,6 +75,8 @@ class Gem::SpecificationPolicy
75
75
 
76
76
  validate_dependencies
77
77
 
78
+ validate_removed_attributes
79
+
78
80
  if @warnings > 0
79
81
  if strict
80
82
  error "specification has warnings"
@@ -408,6 +410,12 @@ http://spdx.org/licenses or '#{Gem::Licenses::NONSTANDARD}' for a nonstandard li
408
410
  warning "#{executable_path} is missing #! line"
409
411
  end
410
412
 
413
+ def validate_removed_attributes # :nodoc:
414
+ @specification.removed_method_calls.each do |attr|
415
+ warning("#{attr} is deprecated and ignored. Please remove this from your gemspec to ensure that your gem continues to build in the future.")
416
+ end
417
+ end
418
+
411
419
  def warning(statement) # :nodoc:
412
420
  @warnings += 1
413
421
 
@@ -421,7 +429,7 @@ http://spdx.org/licenses or '#{Gem::Licenses::NONSTANDARD}' for a nonstandard li
421
429
  end
422
430
 
423
431
  def help_text # :nodoc:
424
- "See http://guides.rubygems.org/specification-reference/ for help"
432
+ "See https://guides.rubygems.org/specification-reference/ for help"
425
433
  end
426
434
 
427
435
  end
@@ -96,6 +96,8 @@ class Gem::TestCase < (defined?(Minitest::Test) ? Minitest::Test : MiniTest::Uni
96
96
 
97
97
  TEST_PATH = ENV.fetch('RUBYGEMS_TEST_PATH', File.expand_path('../../../test/rubygems', __FILE__))
98
98
 
99
+ SPECIFICATIONS = File.expand_path(File.join(TEST_PATH, "specifications"), __FILE__)
100
+
99
101
  def assert_activate(expected, *specs)
100
102
  specs.each do |spec|
101
103
  case spec
@@ -169,20 +171,24 @@ class Gem::TestCase < (defined?(Minitest::Test) ? Minitest::Test : MiniTest::Uni
169
171
  # original value when the block ends
170
172
  #
171
173
  def bindir(value)
172
- bindir = RbConfig::CONFIG['bindir']
174
+ with_clean_path_to_ruby do
175
+ bindir = RbConfig::CONFIG['bindir']
173
176
 
174
- if value
175
- RbConfig::CONFIG['bindir'] = value
176
- else
177
- RbConfig::CONFIG.delete 'bindir'
178
- end
177
+ if value
178
+ RbConfig::CONFIG['bindir'] = value
179
+ else
180
+ RbConfig::CONFIG.delete 'bindir'
181
+ end
179
182
 
180
- yield
181
- ensure
182
- if bindir
183
- RbConfig::CONFIG['bindir'] = bindir
184
- else
185
- RbConfig::CONFIG.delete 'bindir'
183
+ begin
184
+ yield
185
+ ensure
186
+ if bindir
187
+ RbConfig::CONFIG['bindir'] = bindir
188
+ else
189
+ RbConfig::CONFIG.delete 'bindir'
190
+ end
191
+ end
186
192
  end
187
193
  end
188
194
 
@@ -1247,6 +1253,16 @@ Also, a list:
1247
1253
  end
1248
1254
  end
1249
1255
 
1256
+ def with_clean_path_to_ruby
1257
+ orig_ruby = Gem.ruby
1258
+
1259
+ Gem.instance_variable_set :@ruby, nil
1260
+
1261
+ yield
1262
+ ensure
1263
+ Gem.instance_variable_set :@ruby, orig_ruby
1264
+ end
1265
+
1250
1266
  class << self
1251
1267
 
1252
1268
  # :nodoc:
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "rubygems-update"
5
- s.version = "3.1.3"
5
+ s.version = "3.1.4"
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
 
@@ -0,0 +1,14 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = "rubyforge"
5
+ s.version = "0.0.1"
6
+ s.platform = "ruby"
7
+ s.require_paths = ["lib"]
8
+ s.summary = "A very bar gem"
9
+ s.authors = ["unknown"]
10
+ s.license = 'MIT'
11
+ s.homepage = 'http://example.com'
12
+ s.files = ['README.md']
13
+ s.rubyforge_project = 'abc'
14
+ end
@@ -161,10 +161,8 @@ class TestGem < Gem::TestCase
161
161
 
162
162
  def test_self_install_permissions_with_format_executable_and_non_standard_ruby_install_name
163
163
  Gem::Installer.exec_format = nil
164
- with_clean_path_to_ruby do
165
- ruby_install_name 'ruby27' do
166
- assert_self_install_permissions(format_executable: true)
167
- end
164
+ ruby_install_name 'ruby27' do
165
+ assert_self_install_permissions(format_executable: true)
168
166
  end
169
167
  ensure
170
168
  Gem::Installer.exec_format = nil
@@ -1039,21 +1037,17 @@ class TestGem < Gem::TestCase
1039
1037
  end
1040
1038
 
1041
1039
  def test_self_ruby_escaping_spaces_in_path
1042
- with_clean_path_to_ruby do
1043
- with_bindir_and_exeext("C:/Ruby 1.8/bin", ".exe") do
1044
- ruby_install_name "ruby" do
1045
- assert_equal "\"C:/Ruby 1.8/bin/ruby.exe\"", Gem.ruby
1046
- end
1040
+ with_bindir_and_exeext("C:/Ruby 1.8/bin", ".exe") do
1041
+ ruby_install_name "ruby" do
1042
+ assert_equal "\"C:/Ruby 1.8/bin/ruby.exe\"", Gem.ruby
1047
1043
  end
1048
1044
  end
1049
1045
  end
1050
1046
 
1051
1047
  def test_self_ruby_path_without_spaces
1052
- with_clean_path_to_ruby do
1053
- with_bindir_and_exeext("C:/Ruby18/bin", ".exe") do
1054
- ruby_install_name "ruby" do
1055
- assert_equal "C:/Ruby18/bin/ruby.exe", Gem.ruby
1056
- end
1048
+ with_bindir_and_exeext("C:/Ruby18/bin", ".exe") do
1049
+ ruby_install_name "ruby" do
1050
+ assert_equal "C:/Ruby18/bin/ruby.exe", Gem.ruby
1057
1051
  end
1058
1052
  end
1059
1053
  end
@@ -1965,15 +1959,19 @@ You may need to `gem install -g` to install missing gems
1965
1959
  end
1966
1960
 
1967
1961
  def ruby_install_name(name)
1968
- orig_RUBY_INSTALL_NAME = RbConfig::CONFIG['ruby_install_name']
1969
- RbConfig::CONFIG['ruby_install_name'] = name
1962
+ with_clean_path_to_ruby do
1963
+ orig_RUBY_INSTALL_NAME = RbConfig::CONFIG['ruby_install_name']
1964
+ RbConfig::CONFIG['ruby_install_name'] = name
1970
1965
 
1971
- yield
1972
- ensure
1973
- if orig_RUBY_INSTALL_NAME
1974
- RbConfig::CONFIG['ruby_install_name'] = orig_RUBY_INSTALL_NAME
1975
- else
1976
- RbConfig::CONFIG.delete 'ruby_install_name'
1966
+ begin
1967
+ yield
1968
+ ensure
1969
+ if orig_RUBY_INSTALL_NAME
1970
+ RbConfig::CONFIG['ruby_install_name'] = orig_RUBY_INSTALL_NAME
1971
+ else
1972
+ RbConfig::CONFIG.delete 'ruby_install_name'
1973
+ end
1974
+ end
1977
1975
  end
1978
1976
  end
1979
1977
 
@@ -1985,16 +1983,6 @@ You may need to `gem install -g` to install missing gems
1985
1983
  end
1986
1984
  end
1987
1985
 
1988
- def with_clean_path_to_ruby
1989
- orig_ruby = Gem.ruby
1990
-
1991
- Gem.instance_variable_set :@ruby, nil
1992
-
1993
- yield
1994
- ensure
1995
- Gem.instance_variable_set :@ruby, orig_ruby
1996
- end
1997
-
1998
1986
  def with_plugin(path)
1999
1987
  test_plugin_path = File.expand_path("test/rubygems/plugin/#{path}",
2000
1988
  PROJECT_DIR)
@@ -122,6 +122,23 @@ class TestGemCommandsBuildCommand < Gem::TestCase
122
122
  util_test_build_gem @gem
123
123
  end
124
124
 
125
+ def test_execute_rubyforge_project_warning
126
+ rubyforge_gemspec = File.join SPECIFICATIONS, "rubyforge-0.0.1.gemspec"
127
+
128
+ @cmd.options[:args] = [rubyforge_gemspec]
129
+
130
+ use_ui @ui do
131
+ Dir.chdir @tempdir do
132
+ @cmd.execute
133
+ end
134
+ end
135
+
136
+ error = @ui.error.split("\n")
137
+ assert_equal "WARNING: rubyforge_project= is deprecated and ignored. Please remove this from your gemspec to ensure that your gem continues to build in the future.", error.shift
138
+ assert_equal "WARNING: See https://guides.rubygems.org/specification-reference/ for help", error.shift
139
+ assert_equal [], error
140
+ end
141
+
125
142
  def test_execute_strict_with_warnings
126
143
  bad_gem = util_spec 'some_bad_gem' do |s|
127
144
  s.files = ['README.md']
@@ -147,7 +164,7 @@ class TestGemCommandsBuildCommand < Gem::TestCase
147
164
  error = @ui.error.split "\n"
148
165
  assert_equal "WARNING: licenses is empty, but is recommended. Use a license identifier from", error.shift
149
166
  assert_equal "http://spdx.org/licenses or 'Nonstandard' for a nonstandard license.", error.shift
150
- assert_equal "WARNING: See http://guides.rubygems.org/specification-reference/ for help", error.shift
167
+ assert_equal "WARNING: See https://guides.rubygems.org/specification-reference/ for help", error.shift
151
168
  assert_equal [], error
152
169
 
153
170
  gem_file = File.join @tempdir, File.basename(@gem.cache_file)
@@ -247,7 +247,7 @@ source http://gems.example.com/ already present in the cache
247
247
  end
248
248
 
249
249
  def test_execute_add_http_rubygems_org
250
- http_rubygems_org = 'http://rubygems.org'
250
+ http_rubygems_org = 'http://rubygems.org/'
251
251
 
252
252
  spec_fetcher do |fetcher|
253
253
  fetcher.spec 'a', 1
@@ -284,6 +284,44 @@ source http://gems.example.com/ already present in the cache
284
284
  assert_empty @ui.error
285
285
  end
286
286
 
287
+ def test_execute_add_https_rubygems_org
288
+ https_rubygems_org = 'https://rubygems.org/'
289
+
290
+ spec_fetcher do |fetcher|
291
+ fetcher.spec 'a', 1
292
+ end
293
+
294
+ specs = Gem::Specification.map do |spec|
295
+ [spec.name, spec.version, spec.original_platform]
296
+ end
297
+
298
+ specs_dump_gz = StringIO.new
299
+ Zlib::GzipWriter.wrap specs_dump_gz do |io|
300
+ Marshal.dump specs, io
301
+ end
302
+
303
+ @fetcher.data["#{https_rubygems_org}/specs.#{@marshal_version}.gz"] =
304
+ specs_dump_gz.string
305
+
306
+ @cmd.handle_options %W[--add #{https_rubygems_org}]
307
+
308
+ ui = Gem::MockGemUi.new "n"
309
+
310
+ use_ui ui do
311
+ assert_raises Gem::MockGemUi::TermError do
312
+ @cmd.execute
313
+ end
314
+ end
315
+
316
+ assert_equal [@gem_repo], Gem.sources
317
+
318
+ expected = <<-EXPECTED
319
+ EXPECTED
320
+
321
+ assert_equal expected, @ui.output
322
+ assert_empty @ui.error
323
+ end
324
+
287
325
  def test_execute_add_bad_uri
288
326
  @cmd.handle_options %w[--add beta-gems.example.com]
289
327
 
@@ -2789,7 +2789,7 @@ end
2789
2789
  add_runtime_dependency 'l', '~> 1.2', '> 1.2.3'
2790
2790
  #{w}: open-ended dependency on o (>= 0) is not recommended
2791
2791
  use a bounded requirement, such as '~> x.y'
2792
- #{w}: See http://guides.rubygems.org/specification-reference/ for help
2792
+ #{w}: See https://guides.rubygems.org/specification-reference/ for help
2793
2793
  EXPECTED
2794
2794
 
2795
2795
  assert_equal expected, @ui.error, 'warning'
@@ -2821,7 +2821,7 @@ duplicate dependency on c (>= 1.2.3, development), (~> 1.2) use:
2821
2821
  end
2822
2822
 
2823
2823
  assert_equal <<-EXPECTED, @ui.error
2824
- #{w}: See http://guides.rubygems.org/specification-reference/ for help
2824
+ #{w}: See https://guides.rubygems.org/specification-reference/ for help
2825
2825
  EXPECTED
2826
2826
  end
2827
2827
  end
@@ -2932,7 +2932,7 @@ duplicate dependency on c (>= 1.2.3, development), (~> 1.2) use:
2932
2932
  end
2933
2933
  end
2934
2934
 
2935
- assert_match 'See http://guides.rubygems.org/specification-reference/ for help', @ui.error
2935
+ assert_match 'See https://guides.rubygems.org/specification-reference/ for help', @ui.error
2936
2936
  end
2937
2937
 
2938
2938
  def test_validate_executables
@@ -3105,7 +3105,7 @@ Please report a bug if this causes problems.
3105
3105
 
3106
3106
  assert_equal '"ftp://rubygems.org" is not a valid HTTP URI', e.message
3107
3107
 
3108
- @a1.homepage = 'http://rubygems.org'
3108
+ @a1.homepage = 'https://rubygems.org/'
3109
3109
  assert_equal true, @a1.validate
3110
3110
 
3111
3111
  @a1.homepage = 'https://rubygems.org'
@@ -3128,6 +3128,21 @@ http://spdx.org/licenses or 'Nonstandard' for a nonstandard license.
3128
3128
  warning
3129
3129
  end
3130
3130
 
3131
+ def test_removed_methods
3132
+ assert_equal Gem::Specification::REMOVED_METHODS, [:rubyforge_project=]
3133
+ end
3134
+
3135
+ def test_validate_removed_rubyforge_project
3136
+ util_setup_validate
3137
+
3138
+ use_ui @ui do
3139
+ @a1.rubyforge_project = 'invalid-attribute'
3140
+ @a1.validate
3141
+ end
3142
+
3143
+ assert_match "rubyforge_project= is deprecated", @ui.error
3144
+ end
3145
+
3131
3146
  def test_validate_license_values
3132
3147
  util_setup_validate
3133
3148
 
@@ -3435,7 +3450,7 @@ Did you mean 'Ruby'?
3435
3450
  @a1.validate
3436
3451
  end
3437
3452
 
3438
- assert_match 'See http://guides.rubygems.org/specification-reference/ for help', @ui.error
3453
+ assert_match 'See https://guides.rubygems.org/specification-reference/ for help', @ui.error
3439
3454
  end
3440
3455
 
3441
3456
  def test_version
@@ -4,7 +4,6 @@ require "rubygems/stub_specification"
4
4
 
5
5
  class TestStubSpecification < Gem::TestCase
6
6
 
7
- SPECIFICATIONS = File.expand_path(File.join("..", "specifications"), __FILE__)
8
7
  FOO = File.join SPECIFICATIONS, "foo-0.0.1-x86-mswin32.gemspec"
9
8
  BAR = File.join SPECIFICATIONS, "bar-0.0.2.gemspec"
10
9
 
@@ -3,19 +3,15 @@
3
3
  require 'json'
4
4
  require 'net/http'
5
5
 
6
- def access_token_query_string
7
- @access_token_query_string ||= begin
8
- token = ENV['GITHUB_API_TOKEN']
9
- token ? "?access_token=#{token.strip}" : ''
10
- end
11
- end
12
-
13
6
  def github_api(path)
14
7
  base = 'https://api.github.com'
15
8
  url = path.start_with?(base) ? path : base + path
16
- url += access_token_query_string
17
9
  uri = URI.parse(url)
18
- return unless response = Net::HTTP.get_response(uri)
10
+ http = Net::HTTP.new(uri.host, uri.port)
11
+ http.use_ssl = true
12
+ req = Net::HTTP::Get.new(uri.request_uri)
13
+ req["authorization"] = "token #{ENV['GITHUB_API_TOKEN']}" if ENV['GITHUB_API_TOKEN']
14
+ response = http.request(req)
19
15
  JSON.load(response.body)
20
16
  end
21
17
 
@@ -46,12 +42,13 @@ def sentence(text)
46
42
  text.end_with?('.') ? text : text << '.'
47
43
  end
48
44
 
45
+ from = ARGV.shift || Gem::VERSION
49
46
  branch = ARGV.shift || "HEAD"
50
47
 
51
48
  history = File.read(File.expand_path('../../History.txt', __FILE__))
52
49
 
53
50
  File.open(File.expand_path('../../ChangeLog', __FILE__), 'w') do |changelog|
54
- commits = `git log --oneline v#{Gem::VERSION}..#{branch}`.split("\n")
51
+ commits = `git log --oneline v#{from}..#{branch}`.split("\n")
55
52
  prs = commits.reverse_each.map { |c| c =~ /(Auto merge of|Merge pull request|Merge) #(\d+)/ && $2 }.compact.uniq.sort!
56
53
  prs.each do |pr|
57
54
  next if history =~ /Pull\srequest\s##{pr}/m
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.1.3
4
+ version: 3.1.4
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-05-04 00:00:00.000000000 Z
19
+ date: 2020-06-03 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
@@ -647,6 +647,7 @@ files:
647
647
  - test/rubygems/simple_gem.rb
648
648
  - test/rubygems/specifications/bar-0.0.2.gemspec
649
649
  - test/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspec
650
+ - test/rubygems/specifications/rubyforge-0.0.1.gemspec
650
651
  - test/rubygems/ssl_cert.pem
651
652
  - test/rubygems/ssl_key.pem
652
653
  - test/rubygems/test_bundled_ca.rb
@@ -801,7 +802,7 @@ licenses:
801
802
  - Ruby
802
803
  - MIT
803
804
  metadata: {}
804
- post_install_message:
805
+ post_install_message:
805
806
  rdoc_options:
806
807
  - "--main"
807
808
  - README.md
@@ -820,7 +821,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
820
821
  version: '0'
821
822
  requirements: []
822
823
  rubygems_version: 3.0.3
823
- signing_key:
824
+ signing_key:
824
825
  specification_version: 4
825
826
  summary: RubyGems is a package management framework for Ruby.
826
827
  test_files: []