From ac6e4c0e3b8a3fc4027f1a4497728227c266f4b0 Mon Sep 17 00:00:00 2001 From: Hong Shin Date: Mon, 14 Oct 2024 07:48:02 -0700 Subject: [PATCH] Initial cleanup of hpb_proto_library.bzl - update some refs protos -> hpb - utilize proto_common.bzl - remove _generate_output_file PiperOrigin-RevId: 685704538 --- hpb/bazel/hpb_proto_library.bzl | 35 +++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/hpb/bazel/hpb_proto_library.bzl b/hpb/bazel/hpb_proto_library.bzl index e7004ca00d..972cedfc32 100644 --- a/hpb/bazel/hpb_proto_library.bzl +++ b/hpb/bazel/hpb_proto_library.bzl @@ -9,9 +9,9 @@ - hpb_proto_library() """ -load("@bazel_skylib//lib:paths.bzl", "paths") load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain", "use_cpp_toolchain") load("//bazel:upb_proto_library.bzl", "GeneratedSrcsInfo", "UpbWrappedCcInfo", "upb_proto_library_aspect") +load("//bazel/common:proto_common.bzl", "proto_common") def upb_use_cpp_toolchain(): return use_cpp_toolchain() @@ -39,13 +39,6 @@ def _get_real_root(file): real_short_path = _get_real_short_path(file) return file.path[:-len(real_short_path) - 1] -def _generate_output_file(ctx, src, extension): - real_short_path = _get_real_short_path(src) - real_short_path = paths.relativize(real_short_path, ctx.label.package) - output_filename = paths.replace_extension(real_short_path, extension) - ret = ctx.actions.declare_file(output_filename) - return ret - def _filter_none(elems): return [e for e in elems if e] @@ -117,7 +110,7 @@ hpb_proto_library_copts = rule( attrs = {"copts": attr.string_list(default = [])}, ) -_UpbCcWrappedCcInfo = provider("Provider for cc_info for protos", fields = ["cc_info"]) +_UpbCcWrappedCcInfo = provider("Provider for cc_info for hpb", fields = ["cc_info"]) _WrappedCcGeneratedSrcsInfo = provider("Provider for generated sources", fields = ["srcs"]) def _compile_upb_cc_protos(ctx, generator, proto_info, proto_sources): @@ -125,9 +118,25 @@ def _compile_upb_cc_protos(ctx, generator, proto_info, proto_sources): return GeneratedSrcsInfo(srcs = [], hdrs = []) tool = getattr(ctx.executable, "_gen_" + generator) - srcs = [_generate_output_file(ctx, name, ".upb.proto.cc") for name in proto_sources] - hdrs = [_generate_output_file(ctx, name, ".upb.proto.h") for name in proto_sources] - hdrs += [_generate_output_file(ctx, name, ".upb.fwd.h") for name in proto_sources] + + srcs = [] + srcs += proto_common.declare_generated_files( + ctx.actions, + extension = ".upb.proto.cc", + proto_info = proto_info, + ) + + hdrs = [] + hdrs += proto_common.declare_generated_files( + ctx.actions, + extension = ".upb.proto.h", + proto_info = proto_info, + ) + hdrs += proto_common.declare_generated_files( + ctx.actions, + extension = ".upb.fwd.h", + proto_info = proto_info, + ) transitive_sets = proto_info.transitive_descriptor_sets.to_list() args = ctx.actions.args() @@ -148,7 +157,7 @@ def _compile_upb_cc_protos(ctx, generator, proto_info, proto_sources): outputs = srcs + hdrs, executable = ctx.executable._protoc, arguments = [args], - progress_message = "Generating upb cc protos for :" + ctx.label.name, + progress_message = "Generating hpb protocol buffers for :" + ctx.label.name, ) return GeneratedSrcsInfo(srcs = srcs, hdrs = hdrs)