Internal change PiperOrigin-RevId: 435056074
diff --git a/BUILD b/BUILD index 0a7803f..4cabc12 100644 --- a/BUILD +++ b/BUILD
@@ -28,7 +28,6 @@ "UPB_DEFAULT_COPTS", "UPB_DEFAULT_CPPOPTS", "make_shell_script", - "upb_amalgamation", # copybara:strip_for_google3 ) load( "//bazel:upb_proto_library.bzl", @@ -38,6 +37,13 @@ "upb_proto_reflection_library", ) +# begin:github_only +load( + "//bazel:build_defs.bzl", + "upb_amalgamation", +) +# end:github_only + licenses(["notice"]) exports_files([ @@ -535,7 +541,7 @@ # Amalgamation ################################################################# -# copybara:strip_for_google3_begin +# begin:github_only upb_amalgamation( name = "gen_amalgamation", @@ -640,4 +646,4 @@ visibility = ["//cmake:__pkg__"], ) -# copybara:strip_end +# end:github_only
diff --git a/bazel/build_defs.bzl b/bazel/build_defs.bzl index 5b35b27..b5bc64f 100644 --- a/bazel/build_defs.bzl +++ b/bazel/build_defs.bzl
@@ -27,39 +27,40 @@ load(":upb_proto_library.bzl", "GeneratedSrcsInfo") +_DEFAULT_CPPOPTS = [] +_DEFAULT_COPTS = [] + +# begin:github_only +_DEFAULT_CPPOPTS.extend([ + "-Wextra", + # "-Wshorten-64-to-32", # not in GCC (and my Kokoro images doesn't have Clang) + "-Werror", + "-Wno-long-long", +]) +_DEFAULT_COPTS.extend([ + "-std=c99", + "-pedantic", + "-Werror=pedantic", + "-Wall", + "-Wstrict-prototypes", + # GCC (at least) emits spurious warnings for this that cannot be fixed + # without introducing redundant initialization (with runtime cost): + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80635 + #"-Wno-maybe-uninitialized", +]) +# end:github_only + UPB_DEFAULT_CPPOPTS = select({ "//:windows": [], - "//conditions:default": [ - # copybara:strip_for_google3_begin - "-Wextra", - # "-Wshorten-64-to-32", # not in GCC (and my Kokoro images doesn't have Clang) - "-Werror", - "-Wno-long-long", - # copybara:strip_end - ], + "//conditions:default": _DEFAULT_CPPOPTS, }) UPB_DEFAULT_COPTS = select({ "//:windows": [], "//:fasttable_enabled_setting": ["-std=gnu99", "-DUPB_ENABLE_FASTTABLE"], - "//conditions:default": [ - # copybara:strip_for_google3_begin - "-std=c99", - "-pedantic", - "-Werror=pedantic", - "-Wall", - "-Wstrict-prototypes", - # GCC (at least) emits spurious warnings for this that cannot be fixed - # without introducing redundant initialization (with runtime cost): - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80635 - #"-Wno-maybe-uninitialized", - # copybara:strip_end - ], + "//conditions:default": _DEFAULT_COPTS, }) -def _librule(name): - return name + "_lib" - runfiles_init = """\ # --- begin runfiles.bash initialization v2 --- # Copy-pasted from the Bazel Bash runfiles library v2. @@ -94,18 +95,7 @@ roots[real_root] = True return roots.keys() -def _remove_prefix(str, prefix): - if not str.startswith(prefix): - fail("%s doesn't start with %s" % (str, prefix)) - return str[len(prefix):] - -def _remove_suffix(str, suffix): - if not str.endswith(suffix): - fail("%s doesn't end with %s" % (str, suffix)) - return str[:-len(suffix)] - def make_shell_script(name, contents, out): - contents = runfiles_init + contents # copybara:strip_for_google3 contents = contents.replace("$", "$$") native.genrule( name = "gen_" + name,
diff --git a/bazel/py_proto_library.bzl b/bazel/py_proto_library.bzl index 8ef4d97..7235125 100644 --- a/bazel/py_proto_library.bzl +++ b/bazel/py_proto_library.bzl
@@ -34,7 +34,10 @@ """ load("@bazel_skylib//lib:paths.bzl", "paths") -load("@rules_proto//proto:defs.bzl", "ProtoInfo") # copybara:strip_for_google3 + +# begin:github_only +load("@rules_proto//proto:defs.bzl", "ProtoInfo") +# end:github_only # Generic support code #########################################################
diff --git a/bazel/pyproto_test_wrapper.bzl b/bazel/pyproto_test_wrapper.bzl index e0d01ca..629ee9b 100644 --- a/bazel/pyproto_test_wrapper.bzl +++ b/bazel/pyproto_test_wrapper.bzl
@@ -1,4 +1,4 @@ -# copybara:strip_for_google3_begin +# begin:github_only def pyproto_test_wrapper(name): src = name + "_wrapper.py" @@ -16,7 +16,9 @@ ], ) -# copybara:replace_for_google3_begin +# end:github_only + +# begin:google_only # # def pyproto_test_wrapper(name): # src = name + "_wrapper.py" @@ -30,4 +32,4 @@ # ], # ) # -# copybara:replace_for_google3_end +# end:google_only
diff --git a/bazel/upb_proto_library.bzl b/bazel/upb_proto_library.bzl index 0a30eee..82af0e6 100644 --- a/bazel/upb_proto_library.bzl +++ b/bazel/upb_proto_library.bzl
@@ -30,11 +30,16 @@ load("@bazel_skylib//lib:paths.bzl", "paths") load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain") -load("@rules_proto//proto:defs.bzl", "ProtoInfo") # copybara:strip_for_google3 # Generic support code ######################################################### -_is_bazel = True # copybara:replace_for_google3 _is_bazel = False +# begin:github_only +_is_google3 = False +# end:github_only + +# begin:google_only +# _is_google3 = True +# end:google_only def _get_real_short_path(file): # For some reason, files from other archives have short paths that look like: @@ -97,7 +102,7 @@ blaze_only_args = {} - if not _is_bazel: + if _is_google3: blaze_only_args["grep_includes"] = ctx.file._grep_includes (compilation_context, compilation_outputs) = cc_common.compile( @@ -269,11 +274,11 @@ return _upb_proto_aspect_impl(target, ctx, "upbdefs", _UpbDefsWrappedCcInfo, _WrappedDefsGeneratedSrcsInfo) def _maybe_add(d): - if not _is_bazel: + if _is_google3: d["_grep_includes"] = attr.label( allow_single_file = True, cfg = "exec", - default = "//tools/cpp:grep-includes", + default = "@bazel_tools//tools/cpp:grep-includes", ) return d
diff --git a/benchmarks/BUILD b/benchmarks/BUILD index ae4b199..a7852c7 100644 --- a/benchmarks/BUILD +++ b/benchmarks/BUILD
@@ -23,6 +23,10 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# begin:google_only +# load("//tools/build_defs/proto/cpp:cc_proto_library.bzl", "cc_proto_library") +# end:google_only + load( "//bazel:upb_proto_library.bzl", "upb_proto_library", @@ -30,10 +34,10 @@ ) load( ":build_defs.bzl", - "tmpl_cc_binary", "cc_optimizefor_proto_library", "expand_suffixes", "proto_library", + "tmpl_cc_binary", ) licenses(["notice"]) @@ -87,6 +91,7 @@ "//:reflection", "@com_github_google_benchmark//:benchmark_main", "@com_google_absl//absl/container:flat_hash_set", + "@com_google_protobuf//:protobuf", ], ) @@ -121,7 +126,6 @@ genrule( name = "do_gen_synthetic_protos", - tools = [":gen_synthetic_protos"], outs = [ "100_msgs.proto", "200_msgs.proto", @@ -129,6 +133,7 @@ "200_fields.proto", ], cmd = "$(execpath :gen_synthetic_protos) $(RULEDIR)", + tools = [":gen_synthetic_protos"], ) proto_library( @@ -157,82 +162,87 @@ ) [( -upb_proto_library( - name = k + "_upb_proto", - deps = [":" + k + "_proto"], -), -cc_proto_library( - name = k + "_cc_proto", - deps = [":" + k + "_proto"], -), -tmpl_cc_binary( - name = k + "_upb_binary", - testonly = 1, - gen = ":gen_upb_binary_c", - args = [ - package_name() + "/" + k + ".upb.h", - "upb_benchmark_" + v, - ], - deps = [ - ":" + k + "_upb_proto", - ], -), -tmpl_cc_binary( - name = k + "_protobuf_binary", - testonly = 1, - gen = ":gen_protobuf_binary_cc", - args = [ - package_name() + "/" + k + ".pb.h", - "upb_benchmark::" + v, - ], - deps = [ - ":" + k + "_cc_proto", - ], -), -cc_optimizefor_proto_library( - srcs = [k + ".proto"], - outs = [k + "_lite.proto"], - name = k + "_cc_lite_proto", - optimize_for = "LITE_RUNTIME", -), -tmpl_cc_binary( - name = k + "_lite_protobuf_binary", - testonly = 1, - gen = ":gen_protobuf_binary_cc", - args = [ - package_name() + "/" + k + "_lite.pb.h", - "upb_benchmark::" + v, - ], - deps = [ - ":" + k + "_cc_lite_proto", - ], -), -cc_optimizefor_proto_library( - srcs = [k + ".proto"], - outs = [k + "_codesize.proto"], - name = k + "_cc_codesize_proto", - optimize_for = "CODE_SIZE", -), -tmpl_cc_binary( - name = k + "_codesize_protobuf_binary", - testonly = 1, - gen = ":gen_protobuf_binary_cc", - args = [ - package_name() + "/" + k + "_codesize.pb.h", - "upb_benchmark::" + v, - ], - deps = [ - ":" + k + "_cc_codesize_proto", - ], -) + upb_proto_library( + name = k + "_upb_proto", + deps = [":" + k + "_proto"], + ), + cc_proto_library( + name = k + "_cc_proto", + deps = [":" + k + "_proto"], + ), + tmpl_cc_binary( + name = k + "_upb_binary", + testonly = 1, + args = [ + package_name() + "/" + k + ".upb.h", + "upb_benchmark_" + v, + ], + gen = ":gen_upb_binary_c", + deps = [ + ":" + k + "_upb_proto", + ], + ), + tmpl_cc_binary( + name = k + "_protobuf_binary", + testonly = 1, + args = [ + package_name() + "/" + k + ".pb.h", + "upb_benchmark::" + v, + ], + gen = ":gen_protobuf_binary_cc", + deps = [ + ":" + k + "_cc_proto", + ], + ), + cc_optimizefor_proto_library( + name = k + "_cc_lite_proto", + srcs = [k + ".proto"], + outs = [k + "_lite.proto"], + optimize_for = "LITE_RUNTIME", + ), + tmpl_cc_binary( + name = k + "_lite_protobuf_binary", + testonly = 1, + args = [ + package_name() + "/" + k + "_lite.pb.h", + "upb_benchmark::" + v, + ], + gen = ":gen_protobuf_binary_cc", + deps = [ + ":" + k + "_cc_lite_proto", + ], + ), + cc_optimizefor_proto_library( + name = k + "_cc_codesize_proto", + srcs = [k + ".proto"], + outs = [k + "_codesize.proto"], + optimize_for = "CODE_SIZE", + ), + tmpl_cc_binary( + name = k + "_codesize_protobuf_binary", + testonly = 1, + args = [ + package_name() + "/" + k + "_codesize.pb.h", + "upb_benchmark::" + v, + ], + gen = ":gen_protobuf_binary_cc", + deps = [ + ":" + k + "_cc_codesize_proto", + ], + ), ) for k, v in SIZE_BENCHMARKS.items()] genrule( - testonly = 1, name = "size_data", + testonly = 1, srcs = expand_suffixes( SIZE_BENCHMARKS.keys(), - suffixes = ["_upb_binary", "_protobuf_binary", "_lite_protobuf_binary", "_codesize_protobuf_binary"], + suffixes = [ + "_upb_binary", + "_protobuf_binary", + "_lite_protobuf_binary", + "_codesize_protobuf_binary", + ], ), outs = ["size_data.txt"], # We want --format=GNU which counts rodata with data, not text.
diff --git a/benchmarks/build_defs.bzl b/benchmarks/build_defs.bzl index 93da39f..3fc4dd2 100644 --- a/benchmarks/build_defs.bzl +++ b/benchmarks/build_defs.bzl
@@ -23,19 +23,21 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# copybara:insert_for_google3_begin +# begin:google_only # load("//tools/build_defs/proto/cpp:cc_proto_library.bzl", _cc_proto_library = "cc_proto_library") -# copybara:insert_end +# +# _is_google3 = True +# end:google_only -# copybara:strip_for_google3_begin +# begin:github_only _cc_proto_library = native.cc_proto_library -# copybara:strip_end +_is_google3 = False +# end:github_only def proto_library(**kwargs): + if _is_google3: + kwargs["cc_api_version"] = 2 native.proto_library( - # copybara:insert_for_google3_begin - # cc_api_version = 2, - # copybara:insert_end **kwargs ) @@ -48,11 +50,10 @@ cmd = "$(location " + gen + ") " + " ".join(args) + " > $@", ) + if _is_google3: + kwargs["malloc"] = "//base:system_malloc" + kwargs["features"] = ["-static_linking_mode"] native.cc_binary( - # copybara:insert_for_google3_begin - # malloc="//base:system_malloc", - # features = ["-static_linking_mode"], - # copybara:insert_end name = name, srcs = srcs, **kwargs
diff --git a/python/BUILD b/python/BUILD index cb48bc6..ac97113 100644 --- a/python/BUILD +++ b/python/BUILD
@@ -23,9 +23,11 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# begin:github_only load("//bazel:py_proto_library.bzl", "py_proto_library") -load("//bazel:py_extension.bzl", "py_extension") # copybara:strip_for_google3 +load("//bazel:py_extension.bzl", "py_extension") load("@rules_python//python:packaging.bzl", "py_wheel") +# end:github_only licenses(["notice"]) @@ -69,7 +71,7 @@ srcs = ["api_implementation.c"], ) -# copybara:strip_for_google3_begin +# begin:github_only py_test( name = "minimal_test", @@ -120,7 +122,6 @@ visibility = ["//python:__subpackages__"], ) - py_proto_library( name = "well_known_proto_pb2", deps = [ @@ -160,4 +161,4 @@ ], ) -# copybara:strip_end +# end:github_only
diff --git a/python/pb_unit_tests/BUILD b/python/pb_unit_tests/BUILD index ecb1d7b..1a788fe 100644 --- a/python/pb_unit_tests/BUILD +++ b/python/pb_unit_tests/BUILD
@@ -33,7 +33,9 @@ pyproto_test_wrapper(name = "descriptor_test") -pyproto_test_wrapper(name = "generator_test") # copybara:strip_for_google3 +# begin:github_only +pyproto_test_wrapper(name = "generator_test") +# end:github_only pyproto_test_wrapper(name = "json_format_test")
diff --git a/python/pb_unit_tests/descriptor_pool_test_wrapper.py b/python/pb_unit_tests/descriptor_pool_test_wrapper.py index 800ff48..69b573c 100644 --- a/python/pb_unit_tests/descriptor_pool_test_wrapper.py +++ b/python/pb_unit_tests/descriptor_pool_test_wrapper.py
@@ -27,9 +27,9 @@ import unittest import copy -# copybara:insert_for_google3_begin +# begin:google_only # from google3.testing.pybase import googletest -# copybara:insert_end +# end:google_only # This is testing that certain methods unconditionally throw TypeError. # In the new extension we simply don't define them at all. @@ -37,9 +37,12 @@ descriptor_pool_test.SecondaryDescriptorFromDescriptorDB.testErrorCollector.__unittest_expecting_failure__ = True +# begin:github_only if __name__ == '__main__': - # copybara:strip_for_google3_begin unittest.main(module=descriptor_pool_test, verbosity=2) - # copybara:replace_for_google3_begin - # googletest.main() - # copybara:replace_for_google3_end +# end:github_only + +# begin:google_only +# if __name__ == '__main__': +# googletest.main() +# end:google_only
diff --git a/python/pb_unit_tests/text_format_test_wrapper.py b/python/pb_unit_tests/text_format_test_wrapper.py index 1183a5b..e108e09 100644 --- a/python/pb_unit_tests/text_format_test_wrapper.py +++ b/python/pb_unit_tests/text_format_test_wrapper.py
@@ -29,12 +29,12 @@ # These rely on the UnknownFields accessor, which we are trying to deprecate. text_format_test.OnlyWorksWithProto2RightNowTests.testPrintUnknownFields.__unittest_expecting_failure__ = True -# copybara:strip_for_google3_begin +# begin:github_only from google.protobuf.internal import _parameterized # copybara:strip_for_google3 sep = _parameterized._SEPARATOR getattr(text_format_test.TextFormatMessageToStringTests, "testPrintUnknownFieldsEmbeddedMessageInBytes" + sep + "0").__unittest_expecting_failure__ = True getattr(text_format_test.TextFormatMessageToStringTests, "testPrintUnknownFieldsEmbeddedMessageInBytes" + sep + "1").__unittest_expecting_failure__ = True -# copybara:strip_end +# end:github_only if __name__ == '__main__': unittest.main(module=text_format_test, verbosity=2)
diff --git a/python/protobuf.h b/python/protobuf.h index d09ab0e..0b87646 100644 --- a/python/protobuf.h +++ b/python/protobuf.h
@@ -34,19 +34,22 @@ #include "python/python.h" #include "upb/table_internal.h" -// copybara:strip_for_google3_begin + +// begin:github_only #define PYUPB_PROTOBUF_PUBLIC_PACKAGE "google.protobuf" #define PYUPB_PROTOBUF_INTERNAL_PACKAGE "google.protobuf.internal" #define PYUPB_DESCRIPTOR_PROTO_PACKAGE "google.protobuf" #define PYUPB_DESCRIPTOR_MODULE "google.protobuf.descriptor_pb2" #define PYUPB_MODULE_NAME "google.protobuf.pyext._message" -// copybara:replace_for_google3_begin +// end:github_only + +// begin:google_only // #define PYUPB_PROTOBUF_PUBLIC_PACKAGE "google3.net.proto2.python.public" // #define PYUPB_PROTOBUF_INTERNAL_PACKAGE "google3.net.proto2.python.internal" // #define PYUPB_DESCRIPTOR_PROTO_PACKAGE "proto2" // #define PYUPB_DESCRIPTOR_MODULE "google3.net.proto2.proto.descriptor_pb2" // #define PYUPB_MODULE_NAME "google3.third_party.upb.python._message" -// copybara:replace_for_google3_end +// end:google_only #define PYUPB_RETURN_OOM return PyErr_SetNone(PyExc_MemoryError), NULL
diff --git a/upb/util/BUILD b/upb/util/BUILD index e39044a..9c34822 100644 --- a/upb/util/BUILD +++ b/upb/util/BUILD
@@ -25,7 +25,6 @@ "def_to_proto_public_import_test.proto", "def_to_proto_regular_import_test.proto", "def_to_proto_test.proto", - "def_to_proto_weak_import_test.proto", # copybara:strip_for_google3 ], )
diff --git a/upb/util/def_to_proto_test.proto b/upb/util/def_to_proto_test.proto index 56ebbd9..d0bcb3b 100644 --- a/upb/util/def_to_proto_test.proto +++ b/upb/util/def_to_proto_test.proto
@@ -29,7 +29,6 @@ import "upb/util/def_to_proto_regular_import_test.proto"; import public "upb/util/def_to_proto_public_import_test.proto"; -import weak "upb/util/def_to_proto_weak_import_test.proto"; // copybara:strip_for_google3 package pkg;
diff --git a/upbc/BUILD b/upbc/BUILD index 23b2621..0b98f29 100644 --- a/upbc/BUILD +++ b/upbc/BUILD
@@ -32,12 +32,12 @@ cc_library( name = "common", - hdrs = ["common.h"], srcs = ["common.cc"], + hdrs = ["common.h"], copts = UPB_DEFAULT_CPPOPTS, deps = [ - "@com_google_protobuf//:protobuf", "@com_google_absl//absl/strings", + "@com_google_protobuf//:protobuf", ], ) @@ -49,6 +49,8 @@ deps = [ ":common", "//:mini_table", + "//:port", + "//:upb", "@com_google_absl//absl/base:core_headers", "@com_google_absl//absl/container:flat_hash_map", "@com_google_absl//absl/container:flat_hash_set",