load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") load("@rules_ruby//ruby:defs.bzl", "ruby_library") config_setting( name = "requires_bundle", constraint_values = ["@platforms//os:osx"], ) cc_binary( name = "protobuf_c.so", deps = ["//ruby/ext/google/protobuf_c"], linkshared = 1, tags = ["manual"], ) # Move the bundle to the location expected by our Ruby files. genrule( name = "copy_bundle", srcs = ["//ruby/ext/google/protobuf_c:bundle"], outs = ["protobuf_c.bundle"], cmd = "cp $< $@", tags = ["manual"], ) java_binary( name = "protobuf_java_bin", runtime_deps = [ "//ruby/src/main/java:protobuf_java" ], deploy_env = ["@rules_ruby//ruby/runtime:jruby_binary"], create_executable = False, ) # Move the jar to the location expected by our Ruby files. genrule( name = "copy_jar", srcs = ["protobuf_java_bin_deploy.jar"], outs = ["protobuf_java.jar"], cmd = "cp $< $@", tags = ["manual"], visibility = ["//ruby:__subpackages__"], ) ruby_library( name = "protobuf_lib", srcs = glob([ "**/*.rb", ]), deps = ["//:well_known_ruby_protos"], includes = ["ruby/lib"], data = select({ "@rules_ruby//ruby/runtime:config_jruby": ["protobuf_java.jar"], "@platforms//os:osx": ["protobuf_c.bundle"], "//conditions:default": ["protobuf_c.so"], }), visibility = ["//ruby:__pkg__"], ) pkg_files( name = "dist_files", srcs = glob(["**/*.rb"]), strip_prefix = strip_prefix.from_root(""), visibility = ["//ruby:__pkg__"], )