| load("@rules_proto//proto:defs.bzl", "proto_lang_toolchain") | |
| # Use precompiled binaries where possible. | |
| alias( | |
| name = "protoc", | |
| actual = select({ | |
| ":linux-aarch64": "@com_google_protobuf_protoc_linux_aarch64//:protoc", | |
| ":linux-ppc": "@com_google_protobuf_protoc_linux_ppc//:protoc", | |
| ":linux-s390x": "@com_google_protobuf_protoc_linux_s390_64//:protoc", | |
| ":linux-x86_32": "@com_google_protobuf_protoc_linux_x86_32//:protoc", | |
| ":linux-x86_64": "@com_google_protobuf_protoc_linux_x86_64//:protoc", | |
| ":macos-aarch64": "@com_google_protobuf_protoc_macos_aarch64//:protoc", | |
| ":macos-x86_64": "@com_google_protobuf_protoc_macos_x86_64//:protoc", | |
| ":windows-x86_32": "@com_google_protobuf_protoc_windows_x86_32//:protoc", | |
| ":windows-x86_64": "@com_google_protobuf_protoc_windows_x86_64//:protoc", | |
| "//conditions:default": "@com_github_protocolbuffers_protobuf//:protoc", | |
| }), | |
| visibility = ["//visibility:public"], | |
| ) | |
| # Use the jars from maven. | |
| alias( | |
| name = "protobuf_java", | |
| actual = "@com_google_protobuf_protobuf_java//jar", | |
| visibility = ["//visibility:public"], | |
| ) | |
| alias( | |
| name = "protobuf_java_util", | |
| actual = "@com_google_protobuf_protobuf_java_util//jar", | |
| visibility = ["//visibility:public"], | |
| ) | |
| alias( | |
| name = "protobuf_javalite", | |
| actual = "@com_google_protobuf_protobuf_javalite//jar", | |
| visibility = ["//visibility:public"], | |
| ) | |
| proto_lang_toolchain( | |
| name = "java_toolchain", | |
| command_line = "--java_out=$(OUT)", | |
| runtime = ":protobuf_java", | |
| visibility = ["//visibility:public"], | |
| ) | |
| proto_lang_toolchain( | |
| name = "javalite_toolchain", | |
| command_line = "--java_out=lite:$(OUT)", | |
| runtime = ":protobuf_javalite", | |
| visibility = ["//visibility:public"], | |
| ) | |
| # Redirect everything else to the source | |
| redirect_targets = [ | |
| "wrappers_proto", | |
| "well_known_type_protos", | |
| "timestamp_proto", | |
| "struct_proto", | |
| "python_specific_test_protos_genproto", | |
| "python_common_test_protos_genproto", | |
| "protobuf_python_genproto", | |
| "protobuf_python", | |
| "protobuf_objc", | |
| "protobuf_headers", | |
| "objectivec", | |
| "field_mask_proto", | |
| "empty_proto", | |
| "duration_proto", | |
| "compiler_plugin_proto", | |
| "descriptor_proto", | |
| "cc_wkt_protos", | |
| "cc_toolchain", | |
| "cc_test_protos_genproto", | |
| "cc_wkt_protos_genproto", | |
| "api_proto", | |
| "type_proto", | |
| "source_context_proto", | |
| "any_proto", | |
| "protoc_lib", | |
| "protobuf", | |
| "protobuf_lite", | |
| ] | |
| [ | |
| alias( | |
| name = target, | |
| actual = "@com_github_protocolbuffers_protobuf//:" + target, | |
| visibility = ["//visibility:public"], | |
| ) | |
| for target in redirect_targets | |
| ] | |
| config_setting( | |
| name = "linux-aarch64", | |
| constraint_values = [ | |
| "@platforms//os:linux", | |
| "@platforms//cpu:aarch64", | |
| ], | |
| ) | |
| config_setting( | |
| name = "linux-ppc", | |
| constraint_values = [ | |
| "@platforms//os:linux", | |
| "@platforms//cpu:ppc", | |
| ], | |
| ) | |
| config_setting( | |
| name = "linux-s390x", | |
| constraint_values = [ | |
| "@platforms//os:linux", | |
| "@platforms//cpu:s390x", | |
| ], | |
| ) | |
| config_setting( | |
| name = "linux-x86_32", | |
| constraint_values = [ | |
| "@platforms//os:linux", | |
| "@platforms//cpu:x86_32", | |
| ], | |
| ) | |
| config_setting( | |
| name = "linux-x86_64", | |
| constraint_values = [ | |
| "@platforms//os:linux", | |
| "@platforms//cpu:x86_64", | |
| ], | |
| ) | |
| config_setting( | |
| name = "macos-aarch64", | |
| constraint_values = [ | |
| "@platforms//os:osx", | |
| "@platforms//cpu:arm64", | |
| ], | |
| ) | |
| config_setting( | |
| name = "macos-x86_64", | |
| constraint_values = [ | |
| "@platforms//os:osx", | |
| "@platforms//cpu:x86_64", | |
| ], | |
| ) | |
| config_setting( | |
| name = "windows-x86_32", | |
| constraint_values = [ | |
| "@platforms//os:windows", | |
| "@platforms//cpu:x86_32", | |
| ], | |
| ) | |
| config_setting( | |
| name = "windows-x86_64", | |
| constraint_values = [ | |
| "@platforms//os:windows", | |
| "@platforms//cpu:x86_64", | |
| ], | |
| ) |