From a3cc9b3c8e8e55660e434015654dfc4e11e3a3ab Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Tue, 9 Jun 2020 00:27:04 +0900 Subject: Avoid requiring "psych/versions" This leads to double requiring "ext/psych/lib/psych/versions.rb" and ".ext/common/psych/versions.rb", which produces doxens of warnings during `make test-all`. http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200608T123004Z.log.html.gz ``` [15092/20234] TestRDocOptions#test_init_with_encoding/home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/ext/psych/lib/psych.rb:233: warning: already initialized constant Psych::LIBYAML_VERSION /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/.ext/common/psych.rb:233: warning: previous definition of LIBYAML_VERSION was here /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/ext/psych/lib/psych.rb:235: warning: already initialized constant Psych::NOT_GIVEN /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/.ext/common/psych.rb:235: warning: previous definition of NOT_GIVEN was here /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/ext/psych/lib/psych.rb:271: warning: method redefined; discarding old load /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/.ext/common/psych.rb:271: warning: previous definition of load was here ... ``` The same issue happened in fiddle.gemspec, and this change applies the same fix as [fiddle](https://github.com/ruby/fiddle/issues/34). --- ext/psych/psych.gemspec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'ext/psych/psych.gemspec') diff --git a/ext/psych/psych.gemspec b/ext/psych/psych.gemspec index f47029ec53..8c81e56bd5 100644 --- a/ext/psych/psych.gemspec +++ b/ext/psych/psych.gemspec @@ -1,14 +1,14 @@ # -*- encoding: utf-8 -*- # frozen_string_literal: true -lib_path = File.expand_path('lib', __dir__) -$LOAD_PATH.unshift lib_path if File.exist?(lib_path) - -require 'psych/versions' +version_module = Module.new do + version_rb = File.join(__dir__, "lib/psych/versions.rb") + module_eval(File.read(version_rb), version_rb) +end Gem::Specification.new do |s| s.name = "psych" - s.version = Psych::VERSION + s.version = version_module::Psych::VERSION s.authors = ["Aaron Patterson", "SHIBATA Hiroshi", "Charles Oliver Nutter"] s.email = ["aaron@tenderlovemaking.com", "hsbt@ruby-lang.org", "headius@headius.com"] s.summary = "Psych is a YAML parser and emitter" -- cgit v1.2.3