Refactored mini_table targets into their own BUILD file.

PiperOrigin-RevId: 542607918
diff --git a/BUILD b/BUILD
index 39023f8..2d7ea00 100644
--- a/BUILD
+++ b/BUILD
@@ -106,7 +106,7 @@
 # you make changes to this list.
 package_group(
     name = "friends",
-    packages = [],
+    packages = ["//..."],
 )
 
 # Public C/C++ libraries #######################################################
@@ -143,7 +143,6 @@
         "upb/mem/arena.h",
         "upb/message/extension_internal.h",
         "upb/message/message.h",
-        "upb/mini_table/extension_registry.h",
         "upb/msg.h",
         "upb/status.h",
         "upb/string_view.h",
@@ -163,9 +162,9 @@
         ":lex",
         ":mem",
         ":message_internal",
-        ":mini_table_internal",
         ":port",
         ":wire",
+        "//upb/mini_table:mini_table_internal",
     ],
 )
 
@@ -186,57 +185,6 @@
 )
 
 cc_library(
-    name = "mini_table",
-    hdrs = [
-        "upb/mini_table.h",
-        "upb/mini_table/decode.h",
-        "upb/mini_table/extension_registry.h",
-        "upb/mini_table/types.h",
-    ],
-    copts = UPB_DEFAULT_COPTS,
-    visibility = ["//visibility:public"],
-    deps = [
-        ":base",
-        ":mem",
-        ":mini_table_internal",
-        ":port",
-    ],
-)
-
-cc_library(
-    name = "mini_table_internal",
-    srcs = [
-        "upb/mini_table/common.c",
-        "upb/mini_table/decode.c",
-        "upb/mini_table/encode.c",
-        "upb/mini_table/extension_registry.c",
-        "upb/mini_table/message_internal.c",
-    ],
-    hdrs = [
-        "upb/mini_table/common.h",
-        "upb/mini_table/common_internal.h",
-        "upb/mini_table/decode.h",
-        "upb/mini_table/encode_internal.h",
-        "upb/mini_table/encode_internal.hpp",
-        "upb/mini_table/enum_internal.h",
-        "upb/mini_table/extension_internal.h",
-        "upb/mini_table/extension_registry.h",
-        "upb/mini_table/field_internal.h",
-        "upb/mini_table/file_internal.h",
-        "upb/mini_table/message_internal.h",
-        "upb/mini_table/sub_internal.h",
-        "upb/mini_table/types.h",
-    ],
-    visibility = ["//visibility:public"],
-    deps = [
-        ":base",
-        ":hash",
-        ":mem",
-        ":port",
-    ],
-)
-
-cc_library(
     name = "message",
     hdrs = [
         "upb/message/message.h",
@@ -246,11 +194,23 @@
     deps = [
         ":mem",
         ":message_internal",
-        ":mini_table",
         ":port",
+        "//upb/mini_table",
     ],
 )
 
+alias(
+    name = "mini_table",
+    actual = "//upb/mini_table",
+    visibility = ["//:friends"],
+)
+
+alias(
+    name = "mini_table_internal",
+    actual = "//upb/mini_table:mini_table_internal",
+    visibility = ["//:friends"],
+)
+
 cc_library(
     name = "message_internal",
     srcs = [
@@ -267,8 +227,8 @@
         ":base",
         ":hash",
         ":mem",
-        ":mini_table_internal",
         ":port",
+        "//upb/mini_table:mini_table_internal",
     ],
 )
 
@@ -282,8 +242,8 @@
     deps = [
         ":collections_internal",
         ":message_internal",
-        ":mini_table_internal",
         ":port",
+        "//upb/mini_table:mini_table_internal",
     ],
 )
 
@@ -303,11 +263,11 @@
         ":eps_copy_input_stream",
         ":hash",
         ":message_internal",
-        ":mini_table_internal",
         ":port",
         ":upb",
         ":wire",
         ":wire_reader",
+        "//upb/mini_table:mini_table_internal",
     ],
 )
 
@@ -327,11 +287,11 @@
         ":hash",
         ":message_accessors",
         ":message_internal",
-        ":mini_table_internal",
         ":port",
         ":upb",
         ":wire",
         ":wire_reader",
+        "//upb/mini_table:mini_table_internal",
     ],
 )
 
@@ -349,9 +309,9 @@
         ":collections_internal",
         ":message_accessors",
         ":message_internal",
-        ":mini_table_internal",
         ":port",
         ":upb",
+        "//upb/mini_table:mini_table_internal",
     ],
 )
 
@@ -369,32 +329,14 @@
 )
 
 cc_test(
-    name = "mini_table_encode_test",
-    srcs = [
-        "upb/mini_table/encode_test.cc",
-    ],
-    deps = [
-        ":collections_internal",
-        ":hash",
-        ":message_internal",
-        ":mini_table_internal",
-        ":port",
-        ":upb",
-        "@com_google_absl//absl/container:flat_hash_set",
-        "@com_google_googletest//:gtest_main",
-        "@com_google_protobuf//:protobuf",
-    ],
-)
-
-cc_test(
     name = "message_accessors_test",
     srcs = ["upb/message/accessors_test.cc"],
     deps = [
         ":collections",
         ":message_accessors",
-        ":mini_table_internal",
         ":port",
         ":upb",
+        "//upb/mini_table:mini_table_internal",
         "//upb/test:test_messages_proto2_upb_proto",
         "//upb/test:test_messages_proto3_upb_proto",
         "//upb/test:test_upb_proto",
@@ -412,9 +354,9 @@
         ":message_accessors",
         ":message_copy",
         ":message_promote",
-        ":mini_table_internal",
         ":port",
         ":upb",
+        "//upb/mini_table:mini_table_internal",
         "//upb/test:test_messages_proto2_upb_proto",
         "//upb/test:test_messages_proto3_upb_proto",
         "//upb/test:test_upb_proto",
@@ -431,8 +373,8 @@
         ":collections",
         ":message_accessors",
         ":message_copy",
-        ":mini_table_internal",
         ":upb",
+        "//upb/mini_table:mini_table_internal",
         "//upb/test:test_messages_proto2_upb_proto",
         "//upb/test:test_messages_proto3_upb_proto",
         "//upb/test:test_upb_proto",
@@ -451,9 +393,9 @@
         ":hash",
         ":mem_internal",
         ":message_internal",
-        ":mini_table_internal",
         ":port",
         ":wire",
+        "//upb/mini_table:mini_table_internal",
     ],
 )
 
@@ -477,9 +419,9 @@
         ":message_accessors",
         ":message_accessors_internal",
         ":message_internal",
-        ":mini_table_internal",
         ":upb",
         ":wire_internal",
+        "//upb/mini_table:mini_table_internal",
     ],
 )
 
@@ -487,18 +429,7 @@
 cc_library(
     name = "generated_cpp_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me",
     hdrs = [
-        "upb/message/copy.h",
-        "upb/message/extension_internal.h",
-        "upb/message/internal.h",
         "upb/message/message.h",
-        "upb/mini_table/common.h",
-        "upb/mini_table/enum_internal.h",
-        "upb/mini_table/extension_internal.h",
-        "upb/mini_table/field_internal.h",
-        "upb/mini_table/file_internal.h",
-        "upb/mini_table/message_internal.h",
-        "upb/mini_table/sub_internal.h",
-        "upb/mini_table/types.h",
         "upb/port/def.inc",
         "upb/port/undef.inc",
         "upb/upb.hpp",
@@ -513,8 +444,8 @@
         ":collections_internal",
         ":hash",
         ":message_copy",
-        ":mini_table",
         ":upb",
+        "//upb/mini_table",
     ],
 )
 
@@ -532,8 +463,8 @@
         ":base",
         ":descriptor_upb_proto",
         ":hash",
-        ":mini_table_internal",
         ":reflection_internal",
+        "//upb/mini_table:mini_table_internal",
     ],
 )
 
@@ -594,8 +525,8 @@
         ":hash",
         ":mem",
         ":message_internal",
-        ":mini_table_internal",
         ":port",
+        "//upb/mini_table:mini_table_internal",
     ],
 )
 
@@ -697,9 +628,9 @@
         ":collections",
         ":hash",
         ":message_accessors",
-        ":mini_table_internal",
         ":port",
         ":upb",
+        "//upb/mini_table:mini_table_internal",
     ],
 )
 
@@ -878,9 +809,9 @@
     deps = [
         ":mem",
         ":message_internal",
-        ":mini_table_internal",
         ":port",
         ":wire_internal",
+        "//upb/mini_table:mini_table_internal",
     ],
 )
 
@@ -910,10 +841,10 @@
         ":mem_internal",
         ":message_accessors_internal",
         ":message_internal",
-        ":mini_table_internal",
         ":port",
         ":wire_reader",
         ":wire_types",
+        "//upb/mini_table:mini_table_internal",
         "@utf8_range",
     ],
 )
@@ -1037,7 +968,7 @@
         ":hash",
         ":lex",
         ":mem_internal",
-        ":mini_table_internal",
+        "//upb/mini_table:mini_table_internal",
         ":message_accessors",
         ":message_internal",
         ":port",
@@ -1079,7 +1010,7 @@
         ":mem_internal",
         ":message_accessors",
         ":message_internal",
-        ":mini_table_internal",
+        "//upb/mini_table:mini_table_internal",
         ":port",
         ":reflection",
         ":reflection_internal",
@@ -1120,7 +1051,7 @@
         ":mem_internal",
         ":message_accessors",
         ":message_internal",
-        ":mini_table_internal",
+        "//upb/mini_table:mini_table_internal",
         ":port",
         ":reflection",
         ":reflection_internal",
@@ -1198,6 +1129,7 @@
 #     kotlin_package = "upb",
 #     no_string_conversion = ["_upb_MiniTable_Build"],
 #     strict_enums = ["upb_FieldType"],
+#     visibility = ["//:__subpackages__"],
 # )
 #
 # end:google_only
diff --git a/cmake/BUILD.bazel b/cmake/BUILD.bazel
index c220c47..5382b8b 100644
--- a/cmake/BUILD.bazel
+++ b/cmake/BUILD.bazel
@@ -100,6 +100,7 @@
         ":copy_protos",
         ":gen_cmakelists",
         "//:cmake_files",
+        "//upb/mini_table:cmake_files",
         "@utf8_range//:utf8_range_srcs",
     ],
     target_compatible_with = select({
diff --git a/protos_generator/protoc-gen-upb-protos.cc b/protos_generator/protoc-gen-upb-protos.cc
index 48e69ab..bcd3041 100644
--- a/protos_generator/protoc-gen-upb-protos.cc
+++ b/protos_generator/protoc-gen-upb-protos.cc
@@ -140,8 +140,6 @@
 
 #include "absl/strings/string_view.h"
 #include "absl/status/statusor.h"
-#include "upb/message/internal.h"
-#include "upb/message/copy.h"
       )cc",
       ToPreproc(file->name()));
 
@@ -203,8 +201,6 @@
       R"cc(
 #include <stddef.h>
 #include "absl/strings/string_view.h"
-#include "upb/message/copy.h"
-#include "upb/message/internal.h"
 #include "protos/protos.h"
 #include "$0"
       )cc",
diff --git a/python/dist/BUILD.bazel b/python/dist/BUILD.bazel
index 8998a92..f010040 100644
--- a/python/dist/BUILD.bazel
+++ b/python/dist/BUILD.bazel
@@ -214,6 +214,7 @@
         "//:LICENSE",
         "//:upb_source_files",
         "//python:message_extension",
+        "//upb/mini_table:source_files",
         "//upb/util:util_source_files",
         "@com_google_protobuf//python:python_source_files",
     ],
diff --git a/upb/mini_table/BUILD b/upb/mini_table/BUILD
new file mode 100644
index 0000000..072538f
--- /dev/null
+++ b/upb/mini_table/BUILD
@@ -0,0 +1,101 @@
+load(
+    "//bazel:build_defs.bzl",
+    "UPB_DEFAULT_COPTS",
+)
+
+# begin:github_only
+load("@rules_pkg//:mappings.bzl", "pkg_files")
+# end:github_only
+
+cc_library(
+    name = "mini_table",
+    hdrs = [
+        "decode.h",
+        "extension_registry.h",
+        "types.h",
+    ],
+    copts = UPB_DEFAULT_COPTS,
+    visibility = ["//visibility:public"],
+    deps = [
+        ":mini_table_internal",
+        "//:base",
+        "//:mem",
+        "//:port",
+    ],
+)
+
+cc_library(
+    name = "mini_table_internal",
+    srcs = [
+        "common.c",
+        "decode.c",
+        "encode.c",
+        "extension_registry.c",
+        "message_internal.c",
+    ],
+    hdrs = [
+        "common.h",
+        "common_internal.h",
+        "decode.h",
+        "encode_internal.h",
+        "encode_internal.hpp",
+        "enum_internal.h",
+        "extension_internal.h",
+        "extension_registry.h",
+        "field_internal.h",
+        "file_internal.h",
+        "message_internal.h",
+        "sub_internal.h",
+        "types.h",
+    ],
+    visibility = ["//visibility:public"],
+    deps = [
+        "//:base",
+        "//:hash",
+        "//:mem",
+        "//:port",
+    ],
+)
+
+cc_test(
+    name = "encode_test",
+    srcs = ["encode_test.cc"],
+    deps = [
+        ":mini_table_internal",
+        "//:collections_internal",
+        "//:hash",
+        "//:message_internal",
+        "//:port",
+        "//:upb",
+        "@com_google_absl//absl/container:flat_hash_set",
+        "@com_google_googletest//:gtest_main",
+        "@com_google_protobuf//:protobuf",
+    ],
+)
+
+# begin:github_only
+filegroup(
+    name = "cmake_files",
+    srcs = glob(
+        [
+            "**/*.c",
+            "**/*.h",
+        ],
+        exclude = ["encode_test.cc"],
+    ),
+    visibility = ["//cmake:__pkg__"],
+)
+
+pkg_files(
+    name = "source_files",
+    srcs = glob(
+        [
+            "**/*.c",
+            "**/*.h",
+        ],
+        exclude = ["encode_test.cc"],
+    ),
+    prefix = "upb/mini_table",
+    visibility = ["//python/dist:__pkg__"],
+)
+# end:github_only