Grant Gloop visibility into Abseil

PiperOrigin-RevId: 948608169
Change-Id: I820833839423f7ea0d0b291632d1f6980eca2b54
diff --git a/MODULE.bazel b/MODULE.bazel
index cc60d22..6dfccce 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -19,9 +19,11 @@
     version = "head",
 )
 
-cc_configure = use_extension("@rules_cc//cc:extensions.bzl",
-                             "cc_configure_extension",
-                             dev_dependency = True)
+cc_configure = use_extension(
+    "@rules_cc//cc:extensions.bzl",
+    "cc_configure_extension",
+    dev_dependency = True,
+)
 use_repo(cc_configure, "local_config_cc")
 
 bazel_dep(name = "rules_cc", version = "0.2.18")
@@ -40,3 +42,11 @@
     name = "googletest",
     version = "1.17.0.bcr.2",
 )
+
+# Note: Gloop is NOT a dev_dependency, but should never be used directly.  It is only included here
+# so that we can give visibility into Abseil internals.
+bazel_dep(
+    name = "gloop",
+    version = "20260708.rc1",
+    repo_name = "do_not_use_for_gloop_visibility_only",
+)
diff --git a/absl/base/BUILD.bazel b/absl/base/BUILD.bazel
index 25c32f6..f5aeafc 100644
--- a/absl/base/BUILD.bazel
+++ b/absl/base/BUILD.bazel
@@ -72,6 +72,7 @@
     visibility = [
         "//absl:__subpackages__",
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/sysinfo/topology:__subpackages__",
     ],
     deps = [
         ":config",
@@ -89,6 +90,8 @@
     visibility = [
         "//absl:__subpackages__",
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/coding:__subpackages__",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__subpackages__",
     ],
     deps = [
         ":config",
@@ -178,6 +181,8 @@
     visibility = [
         "//absl:friends",
         "//absl/base:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/base:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/thread/fiber:__pkg__",
     ],
     deps = [
         ":base_internal",
@@ -293,6 +298,7 @@
     visibility = [
         "//absl:__subpackages__",
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/base:__subpackages__",
     ],
     deps = [
         ":config",
@@ -475,6 +481,7 @@
     visibility = [
         "//absl:__subpackages__",
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__subpackages__",
     ],
     deps = [
         ":config",
@@ -534,6 +541,7 @@
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/base:__pkg__",
     ],
     deps = [
         ":base",
@@ -895,6 +903,7 @@
     visibility = [
         "//absl:__subpackages__",
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/base:__subpackages__",
     ],
     deps = [
         ":config",
@@ -1057,6 +1066,7 @@
     visibility = [
         "//absl:__subpackages__",
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__subpackages__",
     ],
     deps = [
         ":config",
@@ -1087,6 +1097,7 @@
     visibility = [
         "//absl:__subpackages__",
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/perftools/tracing:__subpackages__",
     ],
     deps = [
         "//absl/base:config",
diff --git a/absl/container/BUILD.bazel b/absl/container/BUILD.bazel
index 8d6549f..40d3e65 100644
--- a/absl/container/BUILD.bazel
+++ b/absl/container/BUILD.bazel
@@ -234,6 +234,7 @@
     visibility = [
         "//absl:__subpackages__",
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__subpackages__",
     ],
     deps = ["//absl/types:compare"],
 )
@@ -424,6 +425,8 @@
     visibility = [
         "//absl:__subpackages__",
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/strings:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__pkg__",
     ],
     deps = [
         "//absl/base:config",
@@ -459,6 +462,7 @@
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__subpackages__",
     ],
     deps = [
         ":common",
@@ -528,6 +532,7 @@
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__subpackages__",
     ],
     deps = [
         "//absl/hash",
@@ -674,6 +679,7 @@
     visibility = [
         "//absl:__subpackages__",
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__pkg__",
     ],
     deps = ["//absl/base:config"],
 )
@@ -700,6 +706,7 @@
     visibility = [
         "//absl:__subpackages__",
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__pkg__",
     ],
     deps = [
         ":common_policy_traits",
@@ -720,6 +727,7 @@
     visibility = [
         "//absl:friends",
         "//absl/container:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__pkg__",
     ],
     deps = [
         "//absl/meta:type_traits",
@@ -988,6 +996,7 @@
     visibility = [
         "//absl:friends",
         "//absl/container:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__subpackages__",
     ],
     deps = [
         ":hash_generator_testing",
@@ -1006,6 +1015,7 @@
     visibility = [
         "//absl:friends",
         "//absl/container:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__subpackages__",
     ],
     deps = [
         ":hash_generator_testing",
@@ -1023,6 +1033,7 @@
     visibility = [
         "//absl:friends",
         "//absl/container:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__subpackages__",
     ],
     deps = [
         ":hash_generator_testing",
@@ -1040,6 +1051,7 @@
     visibility = [
         "//absl:friends",
         "//absl/container:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__pkg__",
     ],
     deps = [
         ":hash_generator_testing",
@@ -1091,6 +1103,7 @@
     visibility = [
         "//absl:friends",
         "//absl/container:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__pkg__",
     ],
     deps = [
         ":hash_generator_testing",
@@ -1108,6 +1121,7 @@
     visibility = [
         "//absl:friends",
         "//absl/container:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__pkg__",
     ],
     deps = [
         ":hash_generator_testing",
diff --git a/absl/debugging/BUILD.bazel b/absl/debugging/BUILD.bazel
index ee308d3..b7b526d 100644
--- a/absl/debugging/BUILD.bazel
+++ b/absl/debugging/BUILD.bazel
@@ -161,6 +161,7 @@
     visibility = [
         "//absl:friends",
         "//absl/log/internal:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop:__subpackages__",
     ],
     deps = [
         ":stacktrace",
@@ -224,7 +225,10 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
-    visibility = ["//absl:friends"],
+    visibility = [
+        "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop:__subpackages__",
+    ],
     deps = [
         "//absl/base:config",
         "//absl/base:core_headers",
diff --git a/absl/flags/BUILD.bazel b/absl/flags/BUILD.bazel
index 79b8f7f..b031a64 100644
--- a/absl/flags/BUILD.bazel
+++ b/absl/flags/BUILD.bazel
@@ -45,6 +45,7 @@
     visibility = [
         "//absl:friends",
         "//absl/flags:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/base:__pkg__",
     ],
     deps = [
         "//absl/base:config",
@@ -66,6 +67,7 @@
         "//absl:friends",
         "//absl/flags:__pkg__",
         "//absl/log:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/base:__pkg__",
     ],
     deps = [
         ":path_util",
@@ -134,6 +136,7 @@
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/base:__pkg__",
     ],
     deps = [
         "//absl/base:config",
diff --git a/absl/log/internal/BUILD.bazel b/absl/log/internal/BUILD.bazel
index 83c5eab..6aeeb2e 100644
--- a/absl/log/internal/BUILD.bazel
+++ b/absl/log/internal/BUILD.bazel
@@ -44,6 +44,7 @@
     ],
     packages = [
         "//absl/log",
+        "@do_not_use_for_gloop_visibility_only//gloop/base/...",
     ],
 )
 
@@ -110,6 +111,7 @@
     visibility = [
         "//absl:friends",
         "//absl/log:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/base:__subpackages__",
     ],
     deps = ["//absl/base:config"],
 )
@@ -158,6 +160,7 @@
     visibility = [
         "//absl:friends",
         "//absl/log:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/base:__subpackages__",
     ],
     deps = [
         "//absl/base:config",
@@ -191,6 +194,7 @@
     visibility = [
         "//absl:friends",
         "//absl/log:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/base:__subpackages__",
     ],
     deps = [
         ":append_truncated",
@@ -468,6 +472,7 @@
         "//absl:friends",
         "//absl/log:__subpackages__",
         "//absl/status:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/status:__subpackages__",
     ],
     deps = [
         ":fnmatch",
@@ -563,6 +568,7 @@
     visibility = [
         "//absl:__subpackages__",
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__subpackages__",
     ],
     deps = [
         "//absl/base:config",
diff --git a/absl/meta/BUILD.bazel b/absl/meta/BUILD.bazel
index 2c5465d..683a5c4 100644
--- a/absl/meta/BUILD.bazel
+++ b/absl/meta/BUILD.bazel
@@ -43,6 +43,7 @@
     visibility = [
         "//absl:__subpackages__",
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__subpackages__",
     ],
     deps = [
         "//absl/base:config",
@@ -69,6 +70,7 @@
     visibility = [
         "//absl:__subpackages__",
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__subpackages__",
     ],
     deps = [
         "//absl/base:config",
diff --git a/absl/random/internal/BUILD.bazel b/absl/random/internal/BUILD.bazel
index 56377ed..1aaa165 100644
--- a/absl/random/internal/BUILD.bazel
+++ b/absl/random/internal/BUILD.bazel
@@ -29,6 +29,7 @@
 
 default_package_visibility = [
     "//absl/random:__pkg__",
+    "@do_not_use_for_gloop_visibility_only//gloop/util/random:__subpackages__",
     "//absl:friends",
 ]
 
diff --git a/absl/strings/BUILD.bazel b/absl/strings/BUILD.bazel
index 07486d3..022e841 100644
--- a/absl/strings/BUILD.bazel
+++ b/absl/strings/BUILD.bazel
@@ -441,6 +441,7 @@
     visibility = [
         "//absl:friends",
         "//absl/status:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/status:__pkg__",
     ],
     deps = [
         ":string_view",
@@ -1613,6 +1614,7 @@
     visibility = [
         "//absl:__subpackages__",
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__pkg__",
     ],
     deps = [
         ":str_format",
diff --git a/absl/synchronization/BUILD.bazel b/absl/synchronization/BUILD.bazel
index 583eff2..3a431c3 100644
--- a/absl/synchronization/BUILD.bazel
+++ b/absl/synchronization/BUILD.bazel
@@ -66,6 +66,8 @@
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/base:__subpackages__",
+        "@do_not_use_for_gloop_visibility_only//gloop/thread:__subpackages__",
     ],
     deps = [
         "//absl/base",
@@ -346,6 +348,7 @@
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:friends",
+        "@do_not_use_for_gloop_visibility_only//gloop/base:__subpackages__",
     ],
     deps = [
         ":synchronization",