Include minitable codegen in checked-in cmake files

PiperOrigin-RevId: 613970553
pull/16106/head
Mike Kruskal 12 months ago committed by Copybara-Service
parent e41ffb01a2
commit 8c0485cb68
  1. 36
      upb_generator/bootstrap_compiler.bzl

@ -9,6 +9,13 @@ load(
"upb_proto_library",
)
# begin:github_only
load(
"//bazel:upb_minitable_proto_library.bzl",
"upb_minitable_proto_library",
)
# end:github_only
_stages = ["_stage0", "_stage1", ""]
_protoc = "//:protoc"
_upbc_base = "//upb_generator:protoc-gen-"
@ -102,19 +109,30 @@ def _generate_stage1_proto(name, base_dir, src_files, src_rules, generator, kwar
)
# begin:github_only
def _cmake_staleness_test(name, base_dir, src_files):
# Copy the final gencode for staleness comparison
native.genrule(
name = name + "_copy_gencode",
outs = _generated_srcs("generated_sources/cmake" + base_dir, src_files),
srcs = [name],
cmd = "for src in $(SRCS); do cp -f $$src $(@D); done",
def _cmake_staleness_test(name, base_dir, src_files, proto_lib_deps, **kwargs):
upb_minitable_proto_library(
name = name + "_minitable",
deps = proto_lib_deps,
**kwargs
)
# Copy the final gencode for staleness comparison
files = _generated_srcs("cmake" + base_dir, src_files) + \
_generated_srcs_for_generator("cmake" + base_dir, src_files, "upb_minitable")
genrule = 0
for src in files:
genrule += 1
native.genrule(
name = name + "_copy_gencode_%d" % genrule,
outs = ["generated_sources/" + src],
srcs = [name, name + "_minitable"],
cmd = "for src in $(SRCS); do cp -f $$src $(@D) || echo 'copy failed!'; done",
)
# Keep bazel gencode in sync with our checked-in sources needed for cmake builds.
staleness_test(
name = name + "_staleness_test",
outs = _generated_srcs("cmake" + base_dir, src_files),
outs = files,
generated_pattern = "generated_sources/%s",
tags = ["manual"],
)
@ -209,6 +227,6 @@ def bootstrap_upb_proto_library(
)
# begin:github_only
_cmake_staleness_test(name, base_dir, src_files)
_cmake_staleness_test(name, base_dir, src_files, proto_lib_deps, **kwargs)
# end:github_only

Loading…
Cancel
Save