[前][次][番号順一覧][スレッド一覧]

ruby-changes:71899

From: Hiroshi <ko1@a...>
Date: Fri, 20 May 2022 18:53:39 +0900 (JST)
Subject: [ruby-changes:71899] bcc9451bbf (master): Merge JRuby implementation for stringio and io-wait

https://git.ruby-lang.org/ruby.git/commit/?id=bcc9451bbf

From bcc9451bbff6cd4e136339f195a9ef381df4e9a2 Mon Sep 17 00:00:00 2001
From: Hiroshi SHIBATA <hsbt@r...>
Date: Fri, 20 May 2022 18:45:14 +0900
Subject: Merge JRuby implementation for stringio and io-wait

---
 ext/io/wait/io-wait.gemspec   | 20 ++++++++++++++++----
 ext/stringio/stringio.gemspec | 17 ++++++++++++-----
 2 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/ext/io/wait/io-wait.gemspec b/ext/io/wait/io-wait.gemspec
index a3aa89ee68..b633421e48 100644
--- a/ext/io/wait/io-wait.gemspec
+++ b/ext/io/wait/io-wait.gemspec
@@ -3,8 +3,8 @@ _VERSION = "0.2.3" https://github.com/ruby/ruby/blob/trunk/ext/io/wait/io-wait.gemspec#L3
 Gem::Specification.new do |spec|
   spec.name          = "io-wait"
   spec.version       = _VERSION
-  spec.authors       = ["Nobu Nakada"]
-  spec.email         = ["nobu@r..."]
+  spec.authors       = ["Nobu Nakada", "Charles Oliver Nutter"]
+  spec.email         = ["nobu@r...", "headius@h..."]
 
   spec.summary       = %q{Waits until IO is readable or writable without blocking.}
   spec.description   = %q{Waits until IO is readable or writable without blocking.}
@@ -16,11 +16,23 @@ Gem::Specification.new do |spec| https://github.com/ruby/ruby/blob/trunk/ext/io/wait/io-wait.gemspec#L16
 
   spec.files         = Dir.chdir(File.expand_path('..', __FILE__)) do
     `git ls-files -z`.split("\x0").reject do |f|
-      (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features|rakelib)/|\.(?:git|travis|circleci)|appveyor|Rakefile)})
+      File.identical?(f, __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features|rakelib)/|\.(?:git|travis|circleci)|appveyor|Rakefile)})
     end
   end
-  spec.extensions    = %w[ext/io/wait/extconf.rb]
   spec.bindir        = "exe"
   spec.executables   = []
   spec.require_paths = ["lib"]
+
+  jruby = true if Gem::Platform.new('java') =~ spec.platform or RUBY_ENGINE == 'jruby'
+  spec.files.delete_if do |f|
+    f.end_with?(".java") or
+      f.start_with?("ext/") && (jruby ^ f.start_with?("ext/java/"))
+  end
+  if jruby
+    spec.platform = 'java'
+    spec.files << "lib/io/wait.jar"
+    spec.require_paths += ["ext/java/lib"]
+  else
+    spec.extensions    = %w[ext/io/wait/extconf.rb]
+  end
 end
diff --git a/ext/stringio/stringio.gemspec b/ext/stringio/stringio.gemspec
index 524d976cfb..1015d261f5 100644
--- a/ext/stringio/stringio.gemspec
+++ b/ext/stringio/stringio.gemspec
@@ -1,4 +1,4 @@ https://github.com/ruby/ruby/blob/trunk/ext/stringio/stringio.gemspec#L1
-# -*- encoding: utf-8 -*-
+# -*- coding: utf-8 -*-
 # frozen_string_literal: true
 
 source_version = ["", "ext/stringio/"].find do |dir|
@@ -16,11 +16,18 @@ Gem::Specification.new do |s| https://github.com/ruby/ruby/blob/trunk/ext/stringio/stringio.gemspec#L16
 
   s.required_rubygems_version = Gem::Requirement.new(">= 2.6")
   s.require_paths = ["lib"]
-  s.authors = ["Nobu Nakada"]
+  s.authors = ["Nobu Nakada", "Charles Oliver Nutter"]
   s.description = "Pseudo `IO` class from/to `String`."
-  s.email = "nobu@r..."
-  s.extensions = ["ext/stringio/extconf.rb"]
-  s.files = ["README.md", "ext/stringio/extconf.rb", "ext/stringio/stringio.c"]
+  s.email = ["nobu@r...", "headius@h..."]
+  s.files = ["README.md"]
+  jruby = true if Gem::Platform.new('java') =~ s.platform or RUBY_ENGINE == 'jruby'
+  if jruby
+    s.files += ["lib/stringio.rb", "lib/stringio.jar"]
+    s.platform = "java"
+  else
+    s.extensions = ["ext/stringio/extconf.rb"]
+    s.files += ["ext/stringio/extconf.rb", "ext/stringio/stringio.c"]
+  end
   s.homepage = "https://github.com/ruby/stringio"
   s.licenses = ["Ruby", "BSD-2-Clause"]
   s.required_ruby_version = ">= 2.5"
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]