|
|
|
@ -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 |
|
|
|
|