@@ -29,6 +29,16 @@ cc_library(
2929 includes = [],
3030)
3131
32+ java_binary(
33+ name = "dummy_jar"
34+ srcs = ["Dummy.java"],
35+ )
36+
37+ filegroup(
38+ name = "jars",
39+ srcs = [":dummy_jar"],
40+ )
41+
3242filegroup(
3343 name = "runtime",
3444 srcs = [],
@@ -46,6 +56,7 @@ ruby_toolchain(
4656 interpreter = "//:ruby_bin",
4757 rules_ruby_workspace = "{rules_ruby_workspace}",
4858 runtime = "//:runtime",
59+ jars = "//:jars",
4960 headers = "//:headers",
5061 target_settings = [
5162 "{rules_ruby_workspace}//ruby/runtime:{setting}"
@@ -74,6 +85,16 @@ cc_library(
7485 includes = {includes},
7586)
7687
88+ java_library(
89+ name = "dummy_jar",
90+ srcs = ["Dummy.java"],
91+ )
92+
93+ filegroup(
94+ name = "jars",
95+ srcs = {jars},
96+ )
97+
7798filegroup(
7899 name = "runtime",
79100 srcs = glob(
@@ -86,6 +107,13 @@ filegroup(
86107)
87108"""
88109
110+ # Define a dummy java file for creating a no-op jar when JRuby isn't selected.
111+ _dummy_jar = """
112+ public class Dummy {
113+ public static void main(String[] args) {}
114+ }
115+ """
116+
89117_bundle_bzl = """
90118load("{rules_ruby_workspace}//ruby/private/bundle:def.bzl", "ruby_bundle_impl")
91119load("{rules_ruby_workspace}//ruby/private:constants.bzl", "BUNDLE_ATTRS")
@@ -244,6 +272,8 @@ def _ruby_runtime_impl(ctx):
244272 if not interpreter_path or not interpreter_path .exists :
245273 fail ("Installation of ruby version %s failed" )
246274
275+ ctx .file ("Dummy.java" , _dummy_jar )
276+
247277 if interpreter_path and interpreter_path .exists :
248278 ruby = ruby_repository_context (ctx , interpreter_path )
249279 installed = _install_ruby (ctx , ruby )
@@ -252,6 +282,7 @@ def _ruby_runtime_impl(ctx):
252282 toolchain = _toolchain .format (
253283 includes = repr (installed .includedirs ),
254284 hdrs = repr (["%s/**/*.h" % path for path in installed .includedirs ]),
285+ jars = "glob([\" **/lib/jruby.jar\" ])" if ruby_impl == "jruby" else [":dummy_jar" ],
255286 static_library = repr (installed .static_library ),
256287 shared_library = repr (installed .shared_library ),
257288 rules_ruby_workspace = RULES_RUBY_WORKSPACE_NAME ,
0 commit comments