diff options
Diffstat (limited to 'ext/psych')
-rw-r--r-- | ext/psych/depend | 20 | ||||
-rw-r--r-- | ext/psych/extconf.rb | 41 | ||||
-rw-r--r-- | ext/psych/lib/psych.rb | 56 | ||||
-rw-r--r-- | ext/psych/lib/psych/class_loader.rb | 2 | ||||
-rw-r--r-- | ext/psych/lib/psych/tree_builder.rb | 4 | ||||
-rw-r--r-- | ext/psych/lib/psych/versions.rb | 4 | ||||
-rw-r--r-- | ext/psych/lib/psych/visitors/to_ruby.rb | 2 | ||||
-rw-r--r-- | ext/psych/lib/psych/visitors/yaml_tree.rb | 28 | ||||
-rw-r--r-- | ext/psych/psych.gemspec | 50 |
9 files changed, 105 insertions, 102 deletions
diff --git a/ext/psych/depend b/ext/psych/depend index 78bde9a53d..a4d9ca9a6a 100644 --- a/ext/psych/depend +++ b/ext/psych/depend @@ -67,6 +67,7 @@ psych.o: $(hdrdir)/ruby/internal/attr/noexcept.h psych.o: $(hdrdir)/ruby/internal/attr/noinline.h psych.o: $(hdrdir)/ruby/internal/attr/nonnull.h psych.o: $(hdrdir)/ruby/internal/attr/noreturn.h +psych.o: $(hdrdir)/ruby/internal/attr/packed_struct.h psych.o: $(hdrdir)/ruby/internal/attr/pure.h psych.o: $(hdrdir)/ruby/internal/attr/restrict.h psych.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -135,7 +136,6 @@ psych.o: $(hdrdir)/ruby/internal/intern/enumerator.h psych.o: $(hdrdir)/ruby/internal/intern/error.h psych.o: $(hdrdir)/ruby/internal/intern/eval.h psych.o: $(hdrdir)/ruby/internal/intern/file.h -psych.o: $(hdrdir)/ruby/internal/intern/gc.h psych.o: $(hdrdir)/ruby/internal/intern/hash.h psych.o: $(hdrdir)/ruby/internal/intern/io.h psych.o: $(hdrdir)/ruby/internal/intern/load.h @@ -166,12 +166,12 @@ psych.o: $(hdrdir)/ruby/internal/memory.h psych.o: $(hdrdir)/ruby/internal/method.h psych.o: $(hdrdir)/ruby/internal/module.h psych.o: $(hdrdir)/ruby/internal/newobj.h -psych.o: $(hdrdir)/ruby/internal/rgengc.h psych.o: $(hdrdir)/ruby/internal/scan_args.h psych.o: $(hdrdir)/ruby/internal/special_consts.h psych.o: $(hdrdir)/ruby/internal/static_assert.h psych.o: $(hdrdir)/ruby/internal/stdalign.h psych.o: $(hdrdir)/ruby/internal/stdbool.h +psych.o: $(hdrdir)/ruby/internal/stdckdint.h psych.o: $(hdrdir)/ruby/internal/symbol.h psych.o: $(hdrdir)/ruby/internal/value.h psych.o: $(hdrdir)/ruby/internal/value_type.h @@ -244,6 +244,7 @@ psych_emitter.o: $(hdrdir)/ruby/internal/attr/noexcept.h psych_emitter.o: $(hdrdir)/ruby/internal/attr/noinline.h psych_emitter.o: $(hdrdir)/ruby/internal/attr/nonnull.h psych_emitter.o: $(hdrdir)/ruby/internal/attr/noreturn.h +psych_emitter.o: $(hdrdir)/ruby/internal/attr/packed_struct.h psych_emitter.o: $(hdrdir)/ruby/internal/attr/pure.h psych_emitter.o: $(hdrdir)/ruby/internal/attr/restrict.h psych_emitter.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -312,7 +313,6 @@ psych_emitter.o: $(hdrdir)/ruby/internal/intern/enumerator.h psych_emitter.o: $(hdrdir)/ruby/internal/intern/error.h psych_emitter.o: $(hdrdir)/ruby/internal/intern/eval.h psych_emitter.o: $(hdrdir)/ruby/internal/intern/file.h -psych_emitter.o: $(hdrdir)/ruby/internal/intern/gc.h psych_emitter.o: $(hdrdir)/ruby/internal/intern/hash.h psych_emitter.o: $(hdrdir)/ruby/internal/intern/io.h psych_emitter.o: $(hdrdir)/ruby/internal/intern/load.h @@ -343,12 +343,12 @@ psych_emitter.o: $(hdrdir)/ruby/internal/memory.h psych_emitter.o: $(hdrdir)/ruby/internal/method.h psych_emitter.o: $(hdrdir)/ruby/internal/module.h psych_emitter.o: $(hdrdir)/ruby/internal/newobj.h -psych_emitter.o: $(hdrdir)/ruby/internal/rgengc.h psych_emitter.o: $(hdrdir)/ruby/internal/scan_args.h psych_emitter.o: $(hdrdir)/ruby/internal/special_consts.h psych_emitter.o: $(hdrdir)/ruby/internal/static_assert.h psych_emitter.o: $(hdrdir)/ruby/internal/stdalign.h psych_emitter.o: $(hdrdir)/ruby/internal/stdbool.h +psych_emitter.o: $(hdrdir)/ruby/internal/stdckdint.h psych_emitter.o: $(hdrdir)/ruby/internal/symbol.h psych_emitter.o: $(hdrdir)/ruby/internal/value.h psych_emitter.o: $(hdrdir)/ruby/internal/value_type.h @@ -421,6 +421,7 @@ psych_parser.o: $(hdrdir)/ruby/internal/attr/noexcept.h psych_parser.o: $(hdrdir)/ruby/internal/attr/noinline.h psych_parser.o: $(hdrdir)/ruby/internal/attr/nonnull.h psych_parser.o: $(hdrdir)/ruby/internal/attr/noreturn.h +psych_parser.o: $(hdrdir)/ruby/internal/attr/packed_struct.h psych_parser.o: $(hdrdir)/ruby/internal/attr/pure.h psych_parser.o: $(hdrdir)/ruby/internal/attr/restrict.h psych_parser.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -489,7 +490,6 @@ psych_parser.o: $(hdrdir)/ruby/internal/intern/enumerator.h psych_parser.o: $(hdrdir)/ruby/internal/intern/error.h psych_parser.o: $(hdrdir)/ruby/internal/intern/eval.h psych_parser.o: $(hdrdir)/ruby/internal/intern/file.h -psych_parser.o: $(hdrdir)/ruby/internal/intern/gc.h psych_parser.o: $(hdrdir)/ruby/internal/intern/hash.h psych_parser.o: $(hdrdir)/ruby/internal/intern/io.h psych_parser.o: $(hdrdir)/ruby/internal/intern/load.h @@ -520,12 +520,12 @@ psych_parser.o: $(hdrdir)/ruby/internal/memory.h psych_parser.o: $(hdrdir)/ruby/internal/method.h psych_parser.o: $(hdrdir)/ruby/internal/module.h psych_parser.o: $(hdrdir)/ruby/internal/newobj.h -psych_parser.o: $(hdrdir)/ruby/internal/rgengc.h psych_parser.o: $(hdrdir)/ruby/internal/scan_args.h psych_parser.o: $(hdrdir)/ruby/internal/special_consts.h psych_parser.o: $(hdrdir)/ruby/internal/static_assert.h psych_parser.o: $(hdrdir)/ruby/internal/stdalign.h psych_parser.o: $(hdrdir)/ruby/internal/stdbool.h +psych_parser.o: $(hdrdir)/ruby/internal/stdckdint.h psych_parser.o: $(hdrdir)/ruby/internal/symbol.h psych_parser.o: $(hdrdir)/ruby/internal/value.h psych_parser.o: $(hdrdir)/ruby/internal/value_type.h @@ -598,6 +598,7 @@ psych_to_ruby.o: $(hdrdir)/ruby/internal/attr/noexcept.h psych_to_ruby.o: $(hdrdir)/ruby/internal/attr/noinline.h psych_to_ruby.o: $(hdrdir)/ruby/internal/attr/nonnull.h psych_to_ruby.o: $(hdrdir)/ruby/internal/attr/noreturn.h +psych_to_ruby.o: $(hdrdir)/ruby/internal/attr/packed_struct.h psych_to_ruby.o: $(hdrdir)/ruby/internal/attr/pure.h psych_to_ruby.o: $(hdrdir)/ruby/internal/attr/restrict.h psych_to_ruby.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -666,7 +667,6 @@ psych_to_ruby.o: $(hdrdir)/ruby/internal/intern/enumerator.h psych_to_ruby.o: $(hdrdir)/ruby/internal/intern/error.h psych_to_ruby.o: $(hdrdir)/ruby/internal/intern/eval.h psych_to_ruby.o: $(hdrdir)/ruby/internal/intern/file.h -psych_to_ruby.o: $(hdrdir)/ruby/internal/intern/gc.h psych_to_ruby.o: $(hdrdir)/ruby/internal/intern/hash.h psych_to_ruby.o: $(hdrdir)/ruby/internal/intern/io.h psych_to_ruby.o: $(hdrdir)/ruby/internal/intern/load.h @@ -697,12 +697,12 @@ psych_to_ruby.o: $(hdrdir)/ruby/internal/memory.h psych_to_ruby.o: $(hdrdir)/ruby/internal/method.h psych_to_ruby.o: $(hdrdir)/ruby/internal/module.h psych_to_ruby.o: $(hdrdir)/ruby/internal/newobj.h -psych_to_ruby.o: $(hdrdir)/ruby/internal/rgengc.h psych_to_ruby.o: $(hdrdir)/ruby/internal/scan_args.h psych_to_ruby.o: $(hdrdir)/ruby/internal/special_consts.h psych_to_ruby.o: $(hdrdir)/ruby/internal/static_assert.h psych_to_ruby.o: $(hdrdir)/ruby/internal/stdalign.h psych_to_ruby.o: $(hdrdir)/ruby/internal/stdbool.h +psych_to_ruby.o: $(hdrdir)/ruby/internal/stdckdint.h psych_to_ruby.o: $(hdrdir)/ruby/internal/symbol.h psych_to_ruby.o: $(hdrdir)/ruby/internal/value.h psych_to_ruby.o: $(hdrdir)/ruby/internal/value_type.h @@ -775,6 +775,7 @@ psych_yaml_tree.o: $(hdrdir)/ruby/internal/attr/noexcept.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/attr/noinline.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/attr/nonnull.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/attr/noreturn.h +psych_yaml_tree.o: $(hdrdir)/ruby/internal/attr/packed_struct.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/attr/pure.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/attr/restrict.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h @@ -843,7 +844,6 @@ psych_yaml_tree.o: $(hdrdir)/ruby/internal/intern/enumerator.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/intern/error.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/intern/eval.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/intern/file.h -psych_yaml_tree.o: $(hdrdir)/ruby/internal/intern/gc.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/intern/hash.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/intern/io.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/intern/load.h @@ -874,12 +874,12 @@ psych_yaml_tree.o: $(hdrdir)/ruby/internal/memory.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/method.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/module.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/newobj.h -psych_yaml_tree.o: $(hdrdir)/ruby/internal/rgengc.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/scan_args.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/special_consts.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/static_assert.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/stdalign.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/stdbool.h +psych_yaml_tree.o: $(hdrdir)/ruby/internal/stdckdint.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/symbol.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/value.h psych_yaml_tree.o: $(hdrdir)/ruby/internal/value_type.h diff --git a/ext/psych/extconf.rb b/ext/psych/extconf.rb index 6d03870436..e7dd0bb60a 100644 --- a/ext/psych/extconf.rb +++ b/ext/psych/extconf.rb @@ -6,39 +6,9 @@ if $mswin or $mingw or $cygwin $CPPFLAGS << " -DYAML_DECLARE_STATIC" end -yaml_source = with_config("libyaml-source-dir") || enable_config("bundled-libyaml", false) -unless yaml_source # default to pre-installed libyaml - pkg_config('yaml-0.1') - dir_config('libyaml') - unless find_header('yaml.h') && find_library('yaml', 'yaml_get_version') - yaml_source = true # fallback to the bundled source if exists - end -end - -if yaml_source == true - # search the latest libyaml source under $srcdir - yaml_source = Dir.glob("#{$srcdir}/yaml{,-*}/").max_by {|n| File.basename(n).scan(/\d+/).map(&:to_i)} - unless yaml_source - download_failure = "failed to download libyaml source. Try manually installing libyaml?" - begin - require_relative '../../tool/extlibs.rb' - rescue LoadError - # When running in ruby/ruby, we use miniruby and don't have stdlib. - # Avoid LoadError because it aborts the whole build. Usually when - # stdlib extension fail to configure we skip it and continue. - raise download_failure - end - extlibs = ExtLibs.new(cache_dir: File.expand_path("../../tmp/download_cache", $srcdir)) - unless extlibs.process_under($srcdir) - raise download_failure - end - yaml_source, = Dir.glob("#{$srcdir}/yaml-*/") - raise "libyaml not found" unless yaml_source - end -elsif yaml_source - yaml_source = yaml_source.gsub(/\$\((\w+)\)|\$\{(\w+)\}/) {ENV[$1||$2]} -end +yaml_source = with_config("libyaml-source-dir") if yaml_source + yaml_source = yaml_source.gsub(/\$\((\w+)\)|\$\{(\w+)\}/) {ENV[$1||$2]} yaml_source = yaml_source.chomp("/") yaml_configure = "#{File.expand_path(yaml_source)}/configure" unless File.exist?(yaml_configure) @@ -52,7 +22,7 @@ if yaml_source args = [ yaml_configure, "--enable-#{shared ? 'shared' : 'static'}", - "--host=#{RbConfig::CONFIG['host'].sub(/-unknown-/, '-')}", + "--host=#{RbConfig::CONFIG['host'].sub(/-unknown-/, '-').sub(/arm64/, 'arm')}", "CC=#{RbConfig::CONFIG['CC']}", *(["CFLAGS=-w"] if RbConfig::CONFIG["GCC"] == "yes"), ] @@ -66,6 +36,11 @@ if yaml_source libyaml = "libyaml.#$LIBEXT" $cleanfiles << libyaml $LOCAL_LIBS.prepend("$(LIBYAML) ") +else # default to pre-installed libyaml + pkg_config('yaml-0.1') + dir_config('libyaml') + find_header('yaml.h') or abort "yaml.h not found" + find_library('yaml', 'yaml_get_version') or abort "libyaml not found" end create_makefile 'psych' do |mk| diff --git a/ext/psych/lib/psych.rb b/ext/psych/lib/psych.rb index 4a2ab58514..d87bd9040a 100644 --- a/ext/psych/lib/psych.rb +++ b/ext/psych/lib/psych.rb @@ -489,6 +489,10 @@ module Psych # # Default: <tt>false</tt>. # + # [<tt>:stringify_names</tt>] Dump symbol keys in Hash objects as string. + # + # Default: <tt>false</tt>. + # # Example: # # # Dump an array, get back a YAML string @@ -502,6 +506,9 @@ module Psych # # # Dump an array to an IO with indentation set # Psych.dump(['a', ['b']], StringIO.new, indentation: 3) + # + # # Dump hash with symbol keys as string + # Psych.dump({a: "b"}, stringify_names: true) # => "---\na: b\n" def self.dump o, io = nil, options = {} if Hash === io options = io @@ -562,6 +569,10 @@ module Psych # # Default: <tt>false</tt>. # + # [<tt>:stringify_names</tt>] Dump symbol keys in Hash objects as string. + # + # Default: <tt>false</tt>. + # # Example: # # # Dump an array, get back a YAML string @@ -575,6 +586,9 @@ module Psych # # # Dump an array to an IO with indentation set # Psych.safe_dump(['a', ['b']], StringIO.new, indentation: 3) + # + # # Dump hash with symbol keys as string + # Psych.dump({a: "b"}, stringify_names: true) # => "---\na: b\n" def self.safe_dump o, io = nil, options = {} if Hash === io options = io @@ -694,26 +708,8 @@ module Psych dump_tags[klass] = tag end - # Workaround for emulating `warn '...', uplevel: 1` in Ruby 2.4 or lower. - def self.warn_with_uplevel(message, uplevel: 1) - at = parse_caller(caller[uplevel]).join(':') - warn "#{at}: #{message}" - end - - def self.parse_caller(at) - if /^(.+?):(\d+)(?::in `.*')?/ =~ at - file = $1 - line = $2.to_i - [file, line] - end - end - private_class_method :warn_with_uplevel, :parse_caller - class << self if defined?(Ractor) - require 'forwardable' - extend Forwardable - class Config attr_accessor :load_tags, :dump_tags, :domain_types def initialize @@ -727,7 +723,29 @@ module Psych Ractor.current[:PsychConfig] ||= Config.new end - def_delegators :config, :load_tags, :dump_tags, :domain_types, :load_tags=, :dump_tags=, :domain_types= + def load_tags + config.load_tags + end + + def dump_tags + config.dump_tags + end + + def domain_types + config.domain_types + end + + def load_tags=(value) + config.load_tags = value + end + + def dump_tags=(value) + config.dump_tags = value + end + + def domain_types=(value) + config.domain_types = value + end else attr_accessor :load_tags attr_accessor :dump_tags diff --git a/ext/psych/lib/psych/class_loader.rb b/ext/psych/lib/psych/class_loader.rb index c2e4ea4c93..50efc35ee2 100644 --- a/ext/psych/lib/psych/class_loader.rb +++ b/ext/psych/lib/psych/class_loader.rb @@ -35,7 +35,7 @@ module Psych constants.each do |const| konst = const_get const - class_eval <<~RUBY + class_eval <<~RUBY, __FILE__, __LINE__ + 1 def #{const.to_s.downcase} load #{konst.inspect} end diff --git a/ext/psych/lib/psych/tree_builder.rb b/ext/psych/lib/psych/tree_builder.rb index 414ca02bf7..83115bd721 100644 --- a/ext/psych/lib/psych/tree_builder.rb +++ b/ext/psych/lib/psych/tree_builder.rb @@ -41,7 +41,7 @@ module Psych Sequence Mapping }.each do |node| - class_eval %{ + class_eval <<~RUBY, __FILE__, __LINE__ + 1 def start_#{node.downcase}(anchor, tag, implicit, style) n = Nodes::#{node}.new(anchor, tag, implicit, style) set_start_location(n) @@ -54,7 +54,7 @@ module Psych set_end_location(n) n end - } + RUBY end ### diff --git a/ext/psych/lib/psych/versions.rb b/ext/psych/lib/psych/versions.rb index a9585c887f..b9e8d9ef11 100644 --- a/ext/psych/lib/psych/versions.rb +++ b/ext/psych/lib/psych/versions.rb @@ -2,9 +2,9 @@ module Psych # The version of Psych you are using - VERSION = '5.0.0.dev' + VERSION = '5.1.2' if RUBY_ENGINE == 'jruby' - DEFAULT_SNAKEYAML_VERSION = '1.33'.freeze + DEFAULT_SNAKEYAML_VERSION = '2.7'.freeze end end diff --git a/ext/psych/lib/psych/visitors/to_ruby.rb b/ext/psych/lib/psych/visitors/to_ruby.rb index 8614251ca9..f0fda9bdbc 100644 --- a/ext/psych/lib/psych/visitors/to_ruby.rb +++ b/ext/psych/lib/psych/visitors/to_ruby.rb @@ -101,7 +101,7 @@ module Psych source = $1 options = 0 lang = nil - ($2 || '').split('').each do |option| + $2&.each_char do |option| case option when 'x' then options |= Regexp::EXTENDED when 'i' then options |= Regexp::IGNORECASE diff --git a/ext/psych/lib/psych/visitors/yaml_tree.rb b/ext/psych/lib/psych/visitors/yaml_tree.rb index 31858798e4..a2ebc4d781 100644 --- a/ext/psych/lib/psych/visitors/yaml_tree.rb +++ b/ext/psych/lib/psych/visitors/yaml_tree.rb @@ -15,30 +15,25 @@ module Psych class YAMLTree < Psych::Visitors::Visitor class Registrar # :nodoc: def initialize - @obj_to_id = {} - @obj_to_node = {} - @targets = [] + @obj_to_id = {}.compare_by_identity + @obj_to_node = {}.compare_by_identity @counter = 0 end def register target, node - return unless target.respond_to? :object_id - @targets << target - @obj_to_node[target.object_id] = node + @obj_to_node[target] = node end def key? target - @obj_to_node.key? target.object_id - rescue NoMethodError - false + @obj_to_node.key? target end def id_for target - @obj_to_id[target.object_id] ||= (@counter += 1) + @obj_to_id[target] ||= (@counter += 1) end def node_for target - @obj_to_node[target.object_id] + @obj_to_node[target] end end @@ -70,6 +65,7 @@ module Psych fail(ArgumentError, "Invalid line_width #{@line_width}, must be non-negative or -1 for unlimited.") end end + @stringify_names = options[:stringify_names] @coders = [] @dispatch_cache = Hash.new do |h,klass| @@ -272,7 +268,7 @@ module Psych tag = 'tag:yaml.org,2002:str' plain = false quote = false - elsif o == 'y' || o == 'n' + elsif o == 'y' || o == 'Y' || o == 'n' || o == 'N' style = Nodes::Scalar::DOUBLE_QUOTED elsif @line_width && o.length > @line_width style = Nodes::Scalar::FOLDED @@ -328,7 +324,7 @@ module Psych if o.class == ::Hash register(o, @emitter.start_mapping(nil, nil, true, Psych::Nodes::Mapping::BLOCK)) o.each do |k,v| - accept k + accept(@stringify_names && Symbol === k ? k.to_s : k) accept v end @emitter.end_mapping @@ -341,7 +337,7 @@ module Psych register(o, @emitter.start_mapping(nil, '!set', false, Psych::Nodes::Mapping::BLOCK)) o.each do |k,v| - accept k + accept(@stringify_names && Symbol === k ? k.to_s : k) accept v end @@ -568,7 +564,7 @@ module Psych raise BadAlias, "Tried to dump an aliased object" end - unless @permitted_classes[target.class] + unless Symbol === target || @permitted_classes[target.class] raise DisallowedClass.new('dump', target.class.name || target.class.inspect) end @@ -576,7 +572,7 @@ module Psych end def visit_Symbol sym - unless @permitted_symbols[sym] + unless @permitted_classes[Symbol] || @permitted_symbols[sym] raise DisallowedClass.new('dump', "Symbol(#{sym.inspect})") end diff --git a/ext/psych/psych.gemspec b/ext/psych/psych.gemspec index 5f5168ddb0..a3fc53a8b9 100644 --- a/ext/psych/psych.gemspec +++ b/ext/psych/psych.gemspec @@ -21,28 +21,41 @@ DESCRIPTION s.licenses = ["MIT"] s.require_paths = ["lib"] - # for ruby core repository. It was generated by `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } + # for ruby core repository. + # It was generated by + # `git ls-files -z`.split("\x0").reject { |f| + # f.match(%r{^\.git|^(test|spec|features|bin|tool)/|^[A-Z]\w+file$|/extlibs$|\.(gemspec|java)$|jar}) + # } s.files = [ - ".gitignore", "Gemfile", "LICENSE", "Mavenfile", "README.md", "Rakefile", "bin/console", - "bin/setup", "ext/psych/depend", "ext/psych/extconf.rb", "ext/psych/psych.c", "ext/psych/psych.h", - "ext/psych/psych_emitter.c", "ext/psych/psych_emitter.h", "ext/psych/psych_parser.c", "ext/psych/psych_parser.h", - "ext/psych/psych_to_ruby.c", "ext/psych/psych_to_ruby.h", "ext/psych/psych_yaml_tree.c", "ext/psych/psych_yaml_tree.h", - "lib/psych.rb", "lib/psych/class_loader.rb", "lib/psych/coder.rb", "lib/psych/core_ext.rb", "lib/psych/exception.rb", - "lib/psych/handler.rb", "lib/psych/handlers/document_stream.rb", "lib/psych/handlers/recorder.rb", - "lib/psych/json/ruby_events.rb", "lib/psych/json/stream.rb", "lib/psych/json/tree_builder.rb", - "lib/psych/json/yaml_events.rb", "lib/psych/nodes.rb", "lib/psych/nodes/alias.rb", "lib/psych/nodes/document.rb", - "lib/psych/nodes/mapping.rb", "lib/psych/nodes/node.rb", "lib/psych/nodes/scalar.rb", "lib/psych/nodes/sequence.rb", - "lib/psych/nodes/stream.rb", "lib/psych/omap.rb", "lib/psych/parser.rb", "lib/psych/scalar_scanner.rb", - "lib/psych/set.rb", "lib/psych/stream.rb", "lib/psych/streaming.rb", "lib/psych/syntax_error.rb", - "lib/psych/tree_builder.rb", "lib/psych/versions.rb", "lib/psych/visitors.rb","lib/psych/visitors/depth_first.rb", - "lib/psych/visitors/emitter.rb", "lib/psych/visitors/json_tree.rb", "lib/psych/visitors/to_ruby.rb", - "lib/psych/visitors/visitor.rb", "lib/psych/visitors/yaml_tree.rb", "lib/psych/y.rb", "psych.gemspec" + "CONTRIBUTING.md", "LICENSE", "README.md", "ext/psych/depend", + "ext/psych/extconf.rb", "ext/psych/psych.c", "ext/psych/psych.h", + "ext/psych/psych_emitter.c", "ext/psych/psych_emitter.h", + "ext/psych/psych_parser.c", "ext/psych/psych_parser.h", + "ext/psych/psych_to_ruby.c", "ext/psych/psych_to_ruby.h", + "ext/psych/psych_yaml_tree.c", "ext/psych/psych_yaml_tree.h", + "lib/psych.rb", "lib/psych/class_loader.rb", "lib/psych/coder.rb", + "lib/psych/core_ext.rb", "lib/psych/exception.rb", "lib/psych/handler.rb", + "lib/psych/handlers/document_stream.rb", "lib/psych/handlers/recorder.rb", + "lib/psych/json/ruby_events.rb", "lib/psych/json/stream.rb", + "lib/psych/json/tree_builder.rb", "lib/psych/json/yaml_events.rb", + "lib/psych/nodes.rb", "lib/psych/nodes/alias.rb", + "lib/psych/nodes/document.rb", "lib/psych/nodes/mapping.rb", + "lib/psych/nodes/node.rb", "lib/psych/nodes/scalar.rb", + "lib/psych/nodes/sequence.rb", "lib/psych/nodes/stream.rb", + "lib/psych/omap.rb", "lib/psych/parser.rb", "lib/psych/scalar_scanner.rb", + "lib/psych/set.rb", "lib/psych/stream.rb", "lib/psych/streaming.rb", + "lib/psych/syntax_error.rb", "lib/psych/tree_builder.rb", + "lib/psych/versions.rb", "lib/psych/visitors.rb", + "lib/psych/visitors/depth_first.rb", "lib/psych/visitors/emitter.rb", + "lib/psych/visitors/json_tree.rb", "lib/psych/visitors/to_ruby.rb", + "lib/psych/visitors/visitor.rb", "lib/psych/visitors/yaml_tree.rb", + "lib/psych/y.rb" ] s.rdoc_options = ["--main", "README.md"] s.extra_rdoc_files = ["README.md"] - s.required_ruby_version = Gem::Requirement.new(">= 2.4.0") + s.required_ruby_version = Gem::Requirement.new(">= 2.5.0") s.required_rubygems_version = Gem::Requirement.new(">= 0") if RUBY_ENGINE == 'jruby' @@ -52,15 +65,16 @@ DESCRIPTION "ext/java/org/jruby/ext/psych/PsychLibrary.java", "ext/java/org/jruby/ext/psych/PsychParser.java", "ext/java/org/jruby/ext/psych/PsychToRuby.java", - "ext/java/org/jruby/ext/psych/PsychYamlTree.java", "lib/psych_jars.rb", "lib/psych.jar" ] - s.requirements = "jar org.yaml:snakeyaml, #{version_module::Psych::DEFAULT_SNAKEYAML_VERSION}" + s.requirements = "jar org.snakeyaml:snakeyaml-engine, #{version_module::Psych::DEFAULT_SNAKEYAML_VERSION}" s.add_dependency 'jar-dependencies', '>= 0.1.7' else s.extensions = ["ext/psych/extconf.rb"] s.add_dependency 'stringio' end + s.metadata['msys2_mingw_dependencies'] = 'libyaml' + s.metadata['changelog_uri'] = s.homepage + '/releases' end |