aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Rosický <pavel.rosicky@easy.cz>2021-09-24 00:33:36 +0200
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2022-06-06 18:13:01 +0900
commit4bc7cef866dc4e4e5c2d94cdd65dd24cc7b7555d (patch)
tree8d2d5014cb03cd671658d493ae2edf11212f3792
parent5d014bcb61cbc443be6e6bd722573bf9e482a9be (diff)
downloadruby-4bc7cef866dc4e4e5c2d94cdd65dd24cc7b7555d.tar.gz
[ruby/cgi] jruby support
https://github.com/ruby/cgi/commit/93326fb622
-rw-r--r--lib/cgi/cgi.gemspec19
-rw-r--r--test/cgi/test_cgi_util.rb1
2 files changed, 16 insertions, 4 deletions
diff --git a/lib/cgi/cgi.gemspec b/lib/cgi/cgi.gemspec
index 3ba62b93f6..381c55a5ca 100644
--- a/lib/cgi/cgi.gemspec
+++ b/lib/cgi/cgi.gemspec
@@ -22,10 +22,21 @@ Gem::Specification.new do |spec|
spec.metadata["homepage_uri"] = spec.homepage
spec.metadata["source_code_uri"] = spec.homepage
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
- `git ls-files -z 2>/dev/null`.split("\x0").reject { |f| f.match(%r{\A(?:(?:test|spec|features)/|\.git)}) }
- end
- spec.extensions = ["ext/cgi/escape/extconf.rb"]
spec.executables = []
+
+ spec.files = [
+ "LICENSE.txt",
+ "README.md",
+ *Dir["lib{.rb,/**/*.rb}", "bin/*"] ]
+
spec.require_paths = ["lib"]
+
+ if Gem::Platform === spec.platform and spec.platform =~ 'java' or RUBY_ENGINE == 'jruby'
+ spec.platform = 'java'
+ spec.require_paths << "ext/java/org/jruby/ext/cgi/escape/lib"
+ spec.files += Dir["ext/java/**/*.{rb}", "lib/cgi/escape.jar"]
+ else
+ spec.files += Dir["ext/cgi/**/*.{rb,c,h,sh}", "ext/cgi/escape/depend", "lib/cgi/escape.so"]
+ spec.extensions = ["ext/cgi/escape/extconf.rb"]
+ end
end
diff --git a/test/cgi/test_cgi_util.rb b/test/cgi/test_cgi_util.rb
index 5a2d07b328..5baf87db75 100644
--- a/test/cgi/test_cgi_util.rb
+++ b/test/cgi/test_cgi_util.rb
@@ -105,6 +105,7 @@ class CGIUtilTest < Test::Unit::TestCase
end
def test_cgi_escape_html_large
+ return if RUBY_ENGINE == 'jruby'
ulong_max, size_max = RbConfig::LIMITS.values_at("ULONG_MAX", "SIZE_MAX")
return unless ulong_max < size_max # Platforms not concerned