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).
This commit is contained in:
Yusuke Endoh 2020-06-09 00:27:04 +09:00
Родитель 465b5dc124
Коммит a3cc9b3c8e
1 изменённых файлов: 5 добавлений и 5 удалений

Просмотреть файл

@ -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"