| diff --git a/MODULE.bazel b/MODULE.bazel | |
| index 8c224dbb35..6ecff93efa 100644 | |
| --- a/MODULE.bazel | |
| +++ b/MODULE.bazel | |
| @@ -40,7 +40,7 @@ bazel_dep(name = "rules_kotlin", version = "2.3.20") | |
| bazel_dep(name = "rules_license", version = "1.0.0") | |
| bazel_dep(name = "rules_pkg", version = "1.0.1") | |
| bazel_dep(name = "rules_python", version = "1.6.0") | |
| -bazel_dep(name = "rules_rust", version = "0.69.0") | |
| +bazel_dep(name = "rules_rust", version = "0.69.0", dev_dependency = True) | |
| bazel_dep(name = "rules_ruby", version = "0.20.1", dev_dependency = True) | |
| @@ -193,7 +193,7 @@ rust.toolchain( | |
| versions = ["1.85.0"], | |
| ) | |
| -crate = use_extension("@rules_rust//crate_universe:extension.bzl", "crate") | |
| +crate = use_extension("@rules_rust//crate_universe:extension.bzl", "crate", dev_dependency = True) | |
| crate.spec( | |
| package = "googletest", | |
| version = ">0.0.0", | |
| diff --git a/bazel/flags/BUILD b/bazel/flags/BUILD | |
| index 393fab95d6..9012b01649 100644 | |
| --- a/bazel/flags/BUILD | |
| +++ b/bazel/flags/BUILD | |
| @@ -46,7 +46,7 @@ string_list_flag( | |
| # This is now enabled by default. | |
| bool_flag( | |
| name = "prefer_prebuilt_protoc", | |
| - build_setting_default = True, | |
| + build_setting_default = False, | |
| # See https://github.com/protocolbuffers/protobuf/issues/25561 | |
| scope = "universal", # propagate from host to exec configuration | |
| visibility = ["//bazel/toolchains:__pkg__"], | |
| diff --git a/java/core/BUILD.bazel b/java/core/BUILD.bazel | |
| index 0502c5489f..e777afd309 100644 | |
| --- a/java/core/BUILD.bazel | |
| +++ b/java/core/BUILD.bazel | |
| @@ -178,10 +178,7 @@ protobuf_java_export( | |
| protobuf_java_library( | |
| name = "lite_runtime_only", | |
| srcs = LITE_SRCS, | |
| - visibility = [ | |
| - "//java/kotlin:__pkg__", | |
| - "//java/lite:__pkg__", | |
| - ], | |
| + visibility = ["//visibility:public"], | |
| ) | |
| proto_library( | |
| diff --git a/src/google/protobuf/compiler/java/full/message.cc b/src/google/protobuf/compiler/java/full/message.cc | |
| index 1b73773a0c..9a78eee880 100644 | |
| --- a/src/google/protobuf/compiler/java/full/message.cc | |
| +++ b/src/google/protobuf/compiler/java/full/message.cc | |
| @@ -875,32 +875,26 @@ void ImmutableMessageGenerator::GenerateIsInitialized(io::Printer* printer) { | |
| // Memoizes whether the protocol buffer is fully initialized (has all | |
| // required fields). -1 means not yet computed. 0 means false and 1 means | |
| // true. | |
| - if (internal::IsOss()) { | |
| - // Leave this as non-transient in OSS to avoid breaking customers that are | |
| - // holding GSON wrong. | |
| - // TODO: Remove this in a future PBJ breaking release. | |
| - printer->Print("private byte memoizedIsInitialized = -1;\n"); | |
| - } else { | |
| - // If the message transitively has no required fields or extensions, | |
| - // isInitialized() is always true. | |
| - if (!HasRequiredFields(descriptor_)) { | |
| - printer->Print( | |
| - "/**\n" | |
| - " * @deprecated This always returns true for this type as it \n" | |
| - " * does not transitively contain any required fields.\n" | |
| - " */\n" | |
| - "@java.lang.Deprecated\n" | |
| - "@java.lang.Override\n" | |
| - "public final boolean isInitialized() {\n" | |
| - " return true;\n" | |
| - "}\n" | |
| - "\n"); | |
| - return; | |
| - } | |
| - printer->Print("private transient byte memoizedIsInitialized = -1;\n"); | |
| + // If the message transitively has no required fields or extensions, | |
| + // isInitialized() is always true. | |
| + if (!HasRequiredFields(descriptor_)) { | |
| + printer->Print( | |
| + "/**\n" | |
| + " * @deprecated This always returns true for this type as it \n" | |
| + " * does not transitively contain any required fields.\n" | |
| + " */\n" | |
| + "@java.lang.Deprecated\n" | |
| + "@java.lang.Override\n" | |
| + "public final boolean isInitialized() {\n" | |
| + " return true;\n" | |
| + "}\n" | |
| + "\n"); | |
| + return; | |
| } | |
| + printer->Print("private transient byte memoizedIsInitialized = -1;\n"); | |
| + | |
| printer->Print( | |
| "@java.lang.Override\n" | |
| "public final boolean isInitialized() {\n"); | |
| diff --git a/upb/BUILD b/upb/BUILD | |
| index b33477efda..b93fb2c9be 100644 | |
| --- a/upb/BUILD | |
| +++ b/upb/BUILD | |
| @@ -149,6 +149,26 @@ cc_library( | |
| visibility = ["//hpb/bazel:__pkg__"], | |
| ) | |
| +# Aliases ###################################################################### | |
| + | |
| +alias( | |
| + name = "base", | |
| + actual = "//upb/base", | |
| + visibility = ["//visibility:public"], | |
| +) | |
| + | |
| +alias( | |
| + name = "mem", | |
| + actual = "//upb/mem", | |
| + visibility = ["//visibility:public"], | |
| +) | |
| + | |
| +alias( | |
| + name = "message", | |
| + actual = "//upb/message", | |
| + visibility = ["//visibility:public"], | |
| +) | |
| + | |
| # Amalgamation ################################################################# | |
| upb_amalgamation( | |
| diff --git a/upb/bazel/private/BUILD b/upb/bazel/private/BUILD | |
| index 0c7ac5d672..9ee2f21179 100644 | |
| --- a/upb/bazel/private/BUILD | |
| +++ b/upb/bazel/private/BUILD | |
| @@ -23,6 +23,6 @@ bzl_library( | |
| "//bazel/common:proto_common_bzl", | |
| "//bazel/common:proto_info_bzl", | |
| "@bazel_skylib//lib:paths", | |
| - "@bazel_tools//tools/cpp:toolchain_utils.bzl", | |
| + "@rules_cc//cc:find_cc_toolchain_bzl", | |
| ], | |
| ) | |
| diff --git a/upb/bazel/private/upb_proto_library_internal/aspect.bzl b/upb/bazel/private/upb_proto_library_internal/aspect.bzl | |
| index 61f70a8561..b625db3eea 100644 | |
| --- a/upb/bazel/private/upb_proto_library_internal/aspect.bzl | |
| +++ b/upb/bazel/private/upb_proto_library_internal/aspect.bzl | |
| @@ -1,6 +1,6 @@ | |
| """Implementation of the aspect that powers the upb_*_proto_library() rules.""" | |
| -load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain") | |
| +load("@rules_cc//cc:find_cc_toolchain.bzl", "find_cc_toolchain") | |
| load("@rules_cc//cc/common:cc_common.bzl", "cc_common") | |
| load("@rules_cc//cc/common:cc_info.bzl", "CcInfo") | |
| load("//bazel/common:proto_common.bzl", "proto_common") | |
| @@ -244,7 +244,7 @@ def upb_proto_aspect_impl( | |
| ) | |
| else: | |
| proto_info = target[ProtoInfo] | |
| - cc_toolchain = find_cpp_toolchain(ctx) | |
| + cc_toolchain = find_cc_toolchain(ctx) | |
| feature_configuration = _get_feature_configuration(ctx, cc_toolchain, proto_info) | |
| files = _generate_upb_protos( | |
| ctx, | |
| diff --git a/upb/bazel/private/upb_proto_library_internal/cc_library_func.bzl b/upb/bazel/private/upb_proto_library_internal/cc_library_func.bzl | |
| index 39cfb1e3f5..9e45276e38 100644 | |
| --- a/upb/bazel/private/upb_proto_library_internal/cc_library_func.bzl | |
| +++ b/upb/bazel/private/upb_proto_library_internal/cc_library_func.bzl | |
| @@ -1,11 +1,11 @@ | |
| """A function to compile C/C++ code, like cc_library() but from Starlark.""" | |
| -load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain", "use_cpp_toolchain") | |
| +load("@rules_cc//cc:find_cc_toolchain.bzl", "find_cc_toolchain", "use_cc_toolchain") | |
| load("@rules_cc//cc/common:cc_common.bzl", "cc_common") | |
| load("@rules_cc//cc/common:cc_info.bzl", "CcInfo") | |
| def upb_use_cpp_toolchain(): | |
| - return use_cpp_toolchain() | |
| + return use_cc_toolchain() | |
| def cc_library_func(ctx, name, hdrs, srcs, copts, dep_ccinfos, includes = [], alwayslink = False, **kwargs): | |
| """Like cc_library(), but callable from rules. | |
| @@ -27,7 +27,7 @@ def cc_library_func(ctx, name, hdrs, srcs, copts, dep_ccinfos, includes = [], al | |
| compilation_contexts = [info.compilation_context for info in dep_ccinfos] | |
| linking_contexts = [info.linking_context for info in dep_ccinfos] | |
| - toolchain = find_cpp_toolchain(ctx) | |
| + toolchain = find_cc_toolchain(ctx) | |
| feature_configuration = cc_common.configure_features( | |
| ctx = ctx, | |
| cc_toolchain = toolchain, | |
| diff --git a/upb/bazel/upb_c_proto_library.bzl b/upb/bazel/upb_c_proto_library.bzl | |
| index d09387be84..3c47e50993 100644 | |
| --- a/upb/bazel/upb_c_proto_library.bzl | |
| +++ b/upb/bazel/upb_c_proto_library.bzl | |
| @@ -38,7 +38,7 @@ upb_c_proto_library_aspect = aspect( | |
| default = Label("//upb_generator/c:toolchain"), | |
| ), | |
| "_cc_toolchain": attr.label( | |
| - default = "@bazel_tools//tools/cpp:current_cc_toolchain", | |
| + default = "@rules_cc//cc:current_cc_toolchain", | |
| ), | |
| }, | |
| implementation = _upb_c_proto_library_aspect_impl, | |
| diff --git a/upb/bazel/upb_minitable_proto_library.bzl b/upb/bazel/upb_minitable_proto_library.bzl | |
| index 6a27082c68..9520a44ec8 100644 | |
| --- a/upb/bazel/upb_minitable_proto_library.bzl | |
| +++ b/upb/bazel/upb_minitable_proto_library.bzl | |
| @@ -53,7 +53,7 @@ upb_minitable_proto_library_aspect = aspect( | |
| default = Label("//upb_generator/minitable:toolchain"), | |
| ), | |
| "_cc_toolchain": attr.label( | |
| - default = "@bazel_tools//tools/cpp:current_cc_toolchain", | |
| + default = "@rules_cc//cc:current_cc_toolchain", | |
| ), | |
| "_fasttable_enabled": attr.label(default = "//upb:fasttable_enabled"), | |
| }, | |
| diff --git a/upb/bazel/upb_proto_reflection_library.bzl b/upb/bazel/upb_proto_reflection_library.bzl | |
| index 77f168ef28..0a3e159807 100644 | |
| --- a/upb/bazel/upb_proto_reflection_library.bzl | |
| +++ b/upb/bazel/upb_proto_reflection_library.bzl | |
| @@ -37,7 +37,7 @@ _upb_proto_reflection_library_aspect = aspect( | |
| cfg = getattr(proto_common, "proto_lang_toolchain_cfg", "target"), | |
| ), | |
| "_cc_toolchain": attr.label( | |
| - default = "@bazel_tools//tools/cpp:current_cc_toolchain", | |
| + default = "@rules_cc//cc:current_cc_toolchain", | |
| ), | |
| }, | |
| implementation = _upb_proto_reflection_library_aspect_impl, | |
| diff --git a/upb_generator/minitable/generator.cc b/upb_generator/minitable/generator.cc | |
| index c074e724e1..f0cc162127 100644 | |
| --- a/upb_generator/minitable/generator.cc | |
| +++ b/upb_generator/minitable/generator.cc | |
| @@ -297,7 +297,7 @@ void WriteExtension(const DefPoolPair& pools, upb::FieldDefPtr ext, | |
| if (!options.one_output_per_message) { | |
| output("static "); | |
| } | |
| - output("const upb_MiniTableExtension $0_obj = {\n ", ExtensionVarName(ext)); | |
| + output("const UPB_RETAIN upb_MiniTableExtension $0_obj = {\n ", ExtensionVarName(ext)); | |
| output("$0,\n", FieldInitializer(pools, ext)); | |
| output(" $0,\n", GetSub(ext, true, options)); | |
| output(" &$0,\n", MessageVarName(ext.containing_type())); |