diff options
Diffstat (limited to 'ext/json/json.gemspec')
| -rw-r--r-- | ext/json/json.gemspec | 175 |
1 files changed, 52 insertions, 123 deletions
diff --git a/ext/json/json.gemspec b/ext/json/json.gemspec index d8be2e52c6..5575731025 100644 --- a/ext/json/json.gemspec +++ b/ext/json/json.gemspec @@ -1,133 +1,62 @@ -# -*- encoding: utf-8 -*- +# frozen_string_literal: true + +version = File.foreach(File.join(__dir__, "lib/json/version.rb")) do |line| + /^\s*VERSION\s*=\s*'(.*)'/ =~ line and break $1 +end rescue nil + +spec = Gem::Specification.new do |s| + java_ext = Gem::Platform === s.platform && s.platform =~ 'java' || RUBY_ENGINE == 'jruby' -Gem::Specification.new do |s| s.name = "json" - s.version = "2.3.0" + s.version = version + + s.summary = "JSON Implementation for Ruby" + s.homepage = "https://github.com/ruby/json" + s.metadata = { + 'bug_tracker_uri' => 'https://github.com/ruby/json/issues', + 'changelog_uri' => 'https://github.com/ruby/json/blob/master/CHANGES.md', + 'documentation_uri' => 'https://docs.ruby-lang.org/en/master/JSON.html', + 'homepage_uri' => s.homepage, + 'source_code_uri' => 'https://github.com/ruby/json', + } + + s.required_ruby_version = Gem::Requirement.new(">= 2.7") + + if java_ext + s.description = "A JSON implementation as a JRuby extension." + s.author = "Daniel Luz" + s.email = "dev+ruby@mernen.com" + else + s.description = "This is a JSON implementation as a Ruby extension in C." + s.authors = ["Florian Frank"] + s.email = "flori@ping.de" + end + + s.licenses = ["Ruby"] - s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib"] - s.authors = ["Florian Frank"] - s.date = "2019-12-11" - s.description = "This is a JSON implementation as a Ruby extension in C." - s.email = "flori@ping.de" - s.extensions = ["ext/json/ext/generator/extconf.rb", "ext/json/ext/parser/extconf.rb", "ext/json/extconf.rb"] s.extra_rdoc_files = ["README.md"] + s.rdoc_options = ["--title", "JSON implementation for Ruby", "--main", "README.md"] + s.files = [ - ".gitignore", - ".travis.yml", "CHANGES.md", - "Gemfile", - "README-json-jruby.md", + "COPYING", + "BSDL", + "LEGAL", "README.md", - "Rakefile", - "VERSION", - "diagrams/.keep", - "ext/json/ext/fbuffer/fbuffer.h", - "ext/json/ext/generator/depend", - "ext/json/ext/generator/extconf.rb", - "ext/json/ext/generator/generator.c", - "ext/json/ext/generator/generator.h", - "ext/json/ext/parser/depend", - "ext/json/ext/parser/extconf.rb", - "ext/json/ext/parser/parser.c", - "ext/json/ext/parser/parser.h", - "ext/json/ext/parser/parser.rl", - "ext/json/extconf.rb", - "install.rb", - "java/src/json/ext/ByteListTranscoder.java", - "java/src/json/ext/Generator.java", - "java/src/json/ext/GeneratorMethods.java", - "java/src/json/ext/GeneratorService.java", - "java/src/json/ext/GeneratorState.java", - "java/src/json/ext/OptionsReader.java", - "java/src/json/ext/Parser.java", - "java/src/json/ext/Parser.rl", - "java/src/json/ext/ParserService.java", - "java/src/json/ext/RuntimeInfo.java", - "java/src/json/ext/StringDecoder.java", - "java/src/json/ext/StringEncoder.java", - "java/src/json/ext/Utils.java", - "json-java.gemspec", "json.gemspec", - "json_pure.gemspec", - "lib/json.rb", - "lib/json/add/bigdecimal.rb", - "lib/json/add/complex.rb", - "lib/json/add/core.rb", - "lib/json/add/date.rb", - "lib/json/add/date_time.rb", - "lib/json/add/exception.rb", - "lib/json/add/ostruct.rb", - "lib/json/add/range.rb", - "lib/json/add/rational.rb", - "lib/json/add/regexp.rb", - "lib/json/add/set.rb", - "lib/json/add/struct.rb", - "lib/json/add/symbol.rb", - "lib/json/add/time.rb", - "lib/json/common.rb", - "lib/json/ext.rb", - "lib/json/ext/.keep", - "lib/json/generic_object.rb", - "lib/json/pure.rb", - "lib/json/pure/generator.rb", - "lib/json/pure/parser.rb", - "lib/json/version.rb", - "references/rfc7159.txt", - "tests/fixtures/fail10.json", - "tests/fixtures/fail11.json", - "tests/fixtures/fail12.json", - "tests/fixtures/fail13.json", - "tests/fixtures/fail14.json", - "tests/fixtures/fail18.json", - "tests/fixtures/fail19.json", - "tests/fixtures/fail2.json", - "tests/fixtures/fail20.json", - "tests/fixtures/fail21.json", - "tests/fixtures/fail22.json", - "tests/fixtures/fail23.json", - "tests/fixtures/fail24.json", - "tests/fixtures/fail25.json", - "tests/fixtures/fail27.json", - "tests/fixtures/fail28.json", - "tests/fixtures/fail3.json", - "tests/fixtures/fail4.json", - "tests/fixtures/fail5.json", - "tests/fixtures/fail6.json", - "tests/fixtures/fail7.json", - "tests/fixtures/fail8.json", - "tests/fixtures/fail9.json", - "tests/fixtures/obsolete_fail1.json", - "tests/fixtures/pass1.json", - "tests/fixtures/pass15.json", - "tests/fixtures/pass16.json", - "tests/fixtures/pass17.json", - "tests/fixtures/pass2.json", - "tests/fixtures/pass26.json", - "tests/fixtures/pass3.json", - "tests/json_addition_test.rb", - "tests/json_common_interface_test.rb", - "tests/json_encoding_test.rb", - "tests/json_ext_parser_test.rb", - "tests/json_fixtures_test.rb", - "tests/json_generator_test.rb", - "tests/json_generic_object_test.rb", - "tests/json_parser_test.rb", - "tests/json_string_matching_test.rb", - "tests/test_helper.rb", - "tests/test_helper.rb", - "tools/diff.sh", - "tools/fuzz.rb", - "tools/server.rb", - ] - s.homepage = "http://flori.github.com/json" - s.licenses = ["Ruby"] - s.rdoc_options = ["--title", "JSON implemention for Ruby", "--main", "README.md"] - s.required_ruby_version = Gem::Requirement.new(">= 1.9") - s.rubygems_version = "3.0.3" - s.summary = "JSON Implementation for Ruby" - s.test_files = ["tests/test_helper.rb"] + ] + Dir.glob("lib/**/*.rb", base: File.expand_path("..", __FILE__)) + + if java_ext + s.platform = 'java' + s.files += Dir["lib/json/ext/**/*.jar"] + else + s.extensions = Dir["ext/json/**/extconf.rb"] + s.files += Dir["ext/json/**/*.{c,h,rb}"] + end +end - s.add_development_dependency("rake", [">= 0"]) - s.add_development_dependency("test-unit", ["~> 2.0"]) +if RUBY_ENGINE == 'jruby' && $0 == __FILE__ + Gem::Builder.new(spec).build +else + spec end |
