| 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__"], |
| ) |