Skip to content

Commit

Permalink
Merge json and json-java gemspecs
Browse files Browse the repository at this point in the history
  • Loading branch information
byroot committed Oct 22, 2024
1 parent c4a6e77 commit fe25c6e
Show file tree
Hide file tree
Showing 7 changed files with 59 additions and 111 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,5 @@ Gemfile.lock
*/**/*.jar
.byebug_history
*.log
/tmp

36 changes: 16 additions & 20 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,27 +1,23 @@
# vim: set ft=ruby:

source 'https://rubygems.org'

case ENV['JSON']
when 'ext', nil
if ENV['RUBY_ENGINE'] == 'jruby'
gemspec :name => 'json-java'
else
gemspec :name => 'json'
end
when 'pure'
gemspec :name => 'json_pure'
if ENV['JSON'] == 'pure'
gemspec name: 'json_pure'
else
gemspec name: 'json'
end

gem "rake"
gem "test-unit"
gem "test-unit-ruby-core"
gem "all_images", "~> 0" unless RUBY_PLATFORM =~ /java/
group :development do
gem "rake"
gem "rake-compiler"
gem "test-unit"
gem "test-unit-ruby-core"
gem "all_images", "~> 0" unless RUBY_PLATFORM =~ /java/

if ENV['BENCHMARK']
gem "benchmark-ips"
unless RUBY_PLATFORM =~ /java/
gem "oj"
gem "rapidjson"
if ENV['BENCHMARK']
gem "benchmark-ips"
unless RUBY_PLATFORM =~ /java/
gem "oj"
gem "rapidjson"
end
end
end
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ the `pp` library's `pp` methods.

### Release

Update the json.gemspec and json-java.gemspec.
Update the `lib/json/version.rb` file.

```
rbenv shell 2.6.5
Expand Down
3 changes: 1 addition & 2 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -191,9 +191,8 @@ if defined?(RUBY_ENGINE) and RUBY_ENGINE == 'jruby'

desc "Package the jruby gem"
task :jruby_gem => :create_jar do
sh 'gem build json-java.gemspec'
mkdir_p 'pkg'
mv "json-#{PKG_VERSION}-java.gem", 'pkg'
sh "gem build -o pkg/json-#{PKG_VERSION}-java.gem json.gemspec"
end

desc "Testing library (jruby)"
Expand Down
3 changes: 0 additions & 3 deletions ext/json/extconf.rb

This file was deleted.

36 changes: 0 additions & 36 deletions json-java.gemspec

This file was deleted.

88 changes: 39 additions & 49 deletions json.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,70 +2,60 @@ version = File.foreach(File.join(__dir__, "lib/json/version.rb")) do |line|
/^\s*VERSION\s*=\s*'(.*)'/ =~ line and break $1
end rescue nil

Gem::Specification.new do |s|
spec = Gem::Specification.new do |s|
java_ext = Gem::Platform === s.platform && s.platform =~ 'java' || RUBY_ENGINE == 'jruby'

s.name = "json"
s.version = version

s.summary = "JSON Implementation for Ruby"
s.description = "This is a JSON implementation as a Ruby extension in C."
s.homepage = "https://ruby.github.io/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://ruby.github.io/json/doc/index.html',
'homepage_uri' => s.homepage,
'source_code_uri' => 'https://github.com/ruby/json',
'wiki_uri' => 'https://github.com/ruby/json/wiki'
}

s.required_ruby_version = Gem::Requirement.new(">= 2.3")

if java_ext
s.description = "A JSON implementation as a JRuby extension."
s.author = "Daniel Luz"
s.email = "[email protected]"
else
s.description = "This is a JSON implementation as a Ruby extension in C."
s.authors = ["Florian Frank"]
s.email = "[email protected]"
end

s.licenses = ["Ruby"]
s.authors = ["Florian Frank"]
s.email = "[email protected]"

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 = [
"CHANGES.md",
"COPYING",
"BSDL",
"LEGAL",
"README.md",
"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",
"json.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/generator/state.rb",
"lib/json/generic_object.rb",
"lib/json/pure.rb",
"lib/json/pure/generator.rb",
"lib/json/pure/parser.rb",
"lib/json/version.rb",
*Dir["lib/**/*.rb"],
]
s.homepage = "https://ruby.github.io/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://ruby.github.io/json/doc/index.html',
'homepage_uri' => s.homepage,
'source_code_uri' => 'https://github.com/ruby/json',
'wiki_uri' => 'https://github.com/ruby/json/wiki'
}

s.required_ruby_version = Gem::Requirement.new(">= 2.3")
if java_ext
s.platform = 'java'
else
s.extensions = Dir["ext/json/**/extconf.rb"]
s.files += Dir["ext/json/**/*.{c,h,rl}"]
end
end

if RUBY_ENGINE == 'jruby' && $0 == __FILE__
Gem::Builder.new(spec).build
else
spec
end

0 comments on commit fe25c6e

Please sign in to comment.