Fix strict deps violations for absl

Bug: 500845363
Change-Id: Ie23860fc594c147d8ab5b5750df9b6786a6a6964
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8068858
Auto-Submit: Matt Stark <msta@google.com>
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Owners-Override: Takuto Ikuta <tikuta@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1661602}
NOKEYCHECK=True
GitOrigin-RevId: 6f224fd4b88e21ce3b68f5e27dec2b5b4d910ff3
diff --git a/absl/base/BUILD.gn b/absl/base/BUILD.gn
index a74e310..4ea7864 100644
--- a/absl/base/BUILD.gn
+++ b/absl/base/BUILD.gn
@@ -22,24 +22,26 @@
 absl_source_set("cpu_detect") {
   public = [ "internal/cpu_detect.h" ]
   sources = [ "internal/cpu_detect.cc" ]
-  deps = [ ":config" ]
+  public_deps = [ ":config" ]
+
   visibility = [ "//third_party/abseil-cpp/absl/*" ]
 }
 
 absl_source_set("hardening") {
   public = [ "internal/hardening.h" ]
   sources = [ "internal/hardening.cc" ]
-  deps = [
+  public_deps = [
     ":config",
     ":core_headers",
   ]
+
   visibility = [ "//third_party/abseil-cpp/absl/*" ]
 }
 
 absl_source_set("log_severity") {
   sources = [ "log_severity.cc" ]
   public = [ "log_severity.h" ]
-  deps = [
+  public_deps = [
     ":config",
     ":core_headers",
   ]
@@ -70,13 +72,14 @@
 absl_source_set("raw_logging_internal") {
   sources = [ "internal/raw_logging.cc" ]
   public = [ "internal/raw_logging.h" ]
-  deps = [
+
+  public_deps = [
     ":atomic_hook",
     ":config",
     ":core_headers",
-    ":errno_saver",
     ":log_severity",
   ]
+  deps = [ ":errno_saver" ]
   visibility = [
     "//third_party/abseil-cpp:absl_component_deps",
     "//third_party/abseil-cpp/absl/*",
@@ -92,8 +95,9 @@
     "internal/spinlock_win32.inc",
   ]
   public = [ "internal/spinlock_wait.h" ]
+
+  public_deps = [ ":base_internal" ]
   deps = [
-    ":base_internal",
     ":core_headers",
     ":errno_saver",
   ]
@@ -153,11 +157,14 @@
     "internal/direct_mmap.h",
     "internal/low_level_alloc.h",
   ]
+
+  public_deps = [
+    ":config",
+    ":core_headers",
+  ]
   deps = [
     ":base",
     ":base_internal",
-    ":config",
-    ":core_headers",
     ":dynamic_annotations",
     ":raw_logging_internal",
   ]
@@ -200,8 +207,7 @@
   # TODO(mbonadei): The bazel file has:
   #   "-DEFAULTLIB:advapi32.lib"
   # understand if this is needed here as well.
-  deps = [
-    ":atomic_hook",
+  public_deps = [
     ":base_internal",
     ":config",
     ":core_headers",
@@ -211,6 +217,7 @@
     ":spinlock_wait",
     "//third_party/abseil-cpp/absl/meta:type_traits",
   ]
+  deps = [ ":atomic_hook" ]
 }
 
 absl_test("attributes_test") {
@@ -235,10 +242,9 @@
 absl_source_set("throw_delegate") {
   sources = [ "throw_delegate.cc" ]
   public = [ "throw_delegate.h" ]
-  deps = [
-    ":config",
-    ":raw_logging_internal",
-  ]
+
+  public_deps = [ ":config" ]
+  deps = [ ":raw_logging_internal" ]
 }
 
 absl_source_set("exception_testing") {
@@ -294,8 +300,9 @@
 absl_source_set("strerror") {
   sources = [ "internal/strerror.cc" ]
   public = [ "internal/strerror.h" ]
+
+  public_deps = [ ":config" ]
   deps = [
-    ":config",
     ":core_headers",
     ":errno_saver",
   ]
@@ -359,10 +366,9 @@
 absl_source_set("tracing_internal") {
   public = [ "internal/tracing.h" ]
   sources = [ "internal/tracing.cc" ]
-  deps = [
-    ":config",
-    ":core_headers",
-  ]
+
+  public_deps = [ ":config" ]
+  deps = [ ":core_headers" ]
 }
 
 absl_source_set("iterator_traits_test_helper") {
diff --git a/absl/container/BUILD.gn b/absl/container/BUILD.gn
index 6956ffe..13bdf50 100644
--- a/absl/container/BUILD.gn
+++ b/absl/container/BUILD.gn
@@ -357,19 +357,22 @@
     "internal/hashtablez_sampler.cc",
     "internal/hashtablez_sampler_force_weak_definition.cc",
   ]
-  deps = [
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
+    "//third_party/abseil-cpp/absl/profiling:sample_recorder",
+    "//third_party/abseil-cpp/absl/synchronization",
+    "//third_party/abseil-cpp/absl/time",
+    "//third_party/abseil-cpp/absl/utility",
+  ]
+  deps = [
     "//third_party/abseil-cpp/absl/base:no_destructor",
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
     "//third_party/abseil-cpp/absl/debugging:stacktrace",
     "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/profiling:exponential_biased",
-    "//third_party/abseil-cpp/absl/profiling:sample_recorder",
-    "//third_party/abseil-cpp/absl/synchronization",
-    "//third_party/abseil-cpp/absl/time",
-    "//third_party/abseil-cpp/absl/utility",
   ]
 }
 
@@ -434,7 +437,8 @@
 absl_source_set("raw_hash_set") {
   sources = [ "internal/raw_hash_set.cc" ]
   public = [ "internal/raw_hash_set.h" ]
-  deps = [
+
+  public_deps = [
     ":common",
     ":common_policy_traits",
     ":compressed_tuple",
@@ -444,11 +448,9 @@
     ":hashtable_control_bytes",
     ":hashtable_debug_hooks",
     ":hashtablez_sampler",
-    ":raw_hash_set_resize_impl",
     "//third_party/abseil-cpp/absl/base",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
-    "//third_party/abseil-cpp/absl/base:dynamic_annotations",
     "//third_party/abseil-cpp/absl/base:endian",
     "//third_party/abseil-cpp/absl/base:iterator_traits_internal",
     "//third_party/abseil-cpp/absl/base:prefetch",
@@ -461,6 +463,10 @@
     "//third_party/abseil-cpp/absl/numeric:bits",
     "//third_party/abseil-cpp/absl/utility",
   ]
+  deps = [
+    ":raw_hash_set_resize_impl",
+    "//third_party/abseil-cpp/absl/base:dynamic_annotations",
+  ]
 }
 
 # raw_hash_set_test uses typeid(), i.e., relies on RTTI.
diff --git a/absl/crc/BUILD.gn b/absl/crc/BUILD.gn
index 98ae3af..a3bf910 100644
--- a/absl/crc/BUILD.gn
+++ b/absl/crc/BUILD.gn
@@ -14,8 +14,9 @@
     "internal/crc_internal.h",
     "internal/crc_x86_arm_combined.cc",
   ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
   deps = [
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:cpu_detect",
     "//third_party/abseil-cpp/absl/base:endian",
@@ -31,26 +32,29 @@
   public = [
     "crc32c.h",
     "internal/crc32c.h",
+    "internal/crc32c_inline.h",
     "internal/crc_memcpy.h",
   ]
   sources = [
     "crc32c.cc",
-    "internal/crc32c_inline.h",
     "internal/crc_memcpy_fallback.cc",
     "internal/crc_memcpy_x86_arm_combined.cc",
     "internal/crc_non_temporal_memcpy.cc",
   ]
-  deps = [
+
+  public_deps = [
     ":crc_internal",
-    ":non_temporal_memcpy",
     "//third_party/abseil-cpp/absl/base:config",
-    "//third_party/abseil-cpp/absl/base:core_headers",
-    "//third_party/abseil-cpp/absl/base:cpu_detect",
     "//third_party/abseil-cpp/absl/base:endian",
-    "//third_party/abseil-cpp/absl/base:prefetch",
     "//third_party/abseil-cpp/absl/strings:str_format",
     "//third_party/abseil-cpp/absl/strings:string_view",
   ]
+  deps = [
+    ":non_temporal_memcpy",
+    "//third_party/abseil-cpp/absl/base:core_headers",
+    "//third_party/abseil-cpp/absl/base:cpu_detect",
+    "//third_party/abseil-cpp/absl/base:prefetch",
+  ]
 }
 
 absl_test("crc32c_test") {
@@ -99,9 +103,12 @@
 absl_source_set("crc_cord_state") {
   public = [ "internal/crc_cord_state.h" ]
   sources = [ "internal/crc_cord_state.cc" ]
-  deps = [
+
+  public_deps = [
     ":crc32c",
     "//third_party/abseil-cpp/absl/base:config",
+  ]
+  deps = [
     "//third_party/abseil-cpp/absl/base:no_destructor",
     "//third_party/abseil-cpp/absl/numeric:bits",
   ]
diff --git a/absl/debugging/BUILD.gn b/absl/debugging/BUILD.gn
index 251e02e..3995ec1 100644
--- a/absl/debugging/BUILD.gn
+++ b/absl/debugging/BUILD.gn
@@ -20,9 +20,10 @@
     "stacktrace.cc",
   ]
   public = [ "stacktrace.h" ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
   deps = [
     ":debugging_internal",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:dynamic_annotations",
     "//third_party/abseil-cpp/absl/base:malloc_internal",
@@ -54,17 +55,20 @@
     "internal/symbolize.h",
     "symbolize.h",
   ]
+
+  public_deps = [
+    "//third_party/abseil-cpp/absl/base:config",
+    "//third_party/abseil-cpp/absl/strings:string_view",
+  ]
   deps = [
     ":debugging_internal",
     ":demangle_internal",
     "//third_party/abseil-cpp/absl/base",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:dynamic_annotations",
     "//third_party/abseil-cpp/absl/base:malloc_internal",
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
     "//third_party/abseil-cpp/absl/strings",
-    "//third_party/abseil-cpp/absl/strings:string_view",
   ]
 
   # TODO(mbonadei): The bazel file has:
@@ -81,10 +85,11 @@
     ":*",
     "//third_party/abseil-cpp/absl/log/internal:*",
   ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
   deps = [
     ":stacktrace",
     ":symbolize",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
   ]
@@ -93,11 +98,12 @@
 absl_source_set("failure_signal_handler") {
   sources = [ "failure_signal_handler.cc" ]
   public = [ "failure_signal_handler.h" ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
   deps = [
     ":examine_stack",
     ":stacktrace",
     "//third_party/abseil-cpp/absl/base",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
   ]
@@ -116,9 +122,12 @@
     "internal/vdso_support.h",
   ]
   visibility = [ ":*" ]
-  deps = [
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
+  ]
+  deps = [
     "//third_party/abseil-cpp/absl/base:dynamic_annotations",
     "//third_party/abseil-cpp/absl/base:errno_saver",
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
@@ -132,10 +141,11 @@
     "//third_party/abseil-cpp/absl/container:*",
     "//third_party/abseil-cpp/absl/debugging:*",
   ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
   deps = [
     ":demangle_rust",
     "//third_party/abseil-cpp/absl/base",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:nullability",
     "//third_party/abseil-cpp/absl/numeric:bits",
@@ -174,11 +184,14 @@
 absl_source_set("decode_rust_punycode") {
   sources = [ "internal/decode_rust_punycode.cc" ]
   public = [ "internal/decode_rust_punycode.h" ]
+
+  public_deps = [
+    "//third_party/abseil-cpp/absl/base:config",
+    "//third_party/abseil-cpp/absl/base:nullability",
+  ]
   deps = [
     ":bounded_utf8_length_sequence",
     ":utf8_for_code_point",
-    "//third_party/abseil-cpp/absl/base:config",
-    "//third_party/abseil-cpp/absl/base:nullability",
   ]
 }
 
@@ -193,9 +206,10 @@
 absl_source_set("demangle_rust") {
   sources = [ "internal/demangle_rust.cc" ]
   public = [ "internal/demangle_rust.h" ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
   deps = [
     ":decode_rust_punycode",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
   ]
 }
@@ -212,7 +226,7 @@
 absl_source_set("utf8_for_code_point") {
   sources = [ "internal/utf8_for_code_point.cc" ]
   public = [ "internal/utf8_for_code_point.h" ]
-  deps = [ "//third_party/abseil-cpp/absl/base:config" ]
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
 }
 
 absl_test("utf8_for_code_point_test") {
@@ -226,10 +240,9 @@
 absl_source_set("leak_check") {
   sources = [ "leak_check.cc" ]
   public = [ "leak_check.h" ]
-  deps = [
-    "//third_party/abseil-cpp/absl/base:config",
-    "//third_party/abseil-cpp/absl/base:core_headers",
-  ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
+  deps = [ "//third_party/abseil-cpp/absl/base:core_headers" ]
 }
 
 absl_source_set("stack_consumption") {
diff --git a/absl/flags/BUILD.gn b/absl/flags/BUILD.gn
index 29632d9..0c655f4 100644
--- a/absl/flags/BUILD.gn
+++ b/absl/flags/BUILD.gn
@@ -16,12 +16,15 @@
 absl_source_set("program_name") {
   sources = [ "internal/program_name.cc" ]
   public = [ "internal/program_name.h" ]
+
+  public_deps = [
+    "//third_party/abseil-cpp/absl/base:config",
+    "//third_party/abseil-cpp/absl/strings:string_view",
+  ]
   deps = [
     ":path_util",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:no_destructor",
-    "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/synchronization",
   ]
   visibility = [
@@ -44,14 +47,17 @@
     "config.h",
     "usage_config.h",
   ]
+
+  public_deps = [
+    "//third_party/abseil-cpp/absl/base:config",
+    "//third_party/abseil-cpp/absl/strings:string_view",
+  ]
   deps = [
     ":path_util",
     ":program_name",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:no_destructor",
     "//third_party/abseil-cpp/absl/strings",
-    "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/synchronization",
   ]
 }
@@ -59,23 +65,26 @@
 absl_source_set("marshalling") {
   sources = [ "marshalling.cc" ]
   public = [ "marshalling.h" ]
-  deps = [
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
-    "//third_party/abseil-cpp/absl/base:core_headers",
-    "//third_party/abseil-cpp/absl/base:log_severity",
     "//third_party/abseil-cpp/absl/numeric:int128",
-    "//third_party/abseil-cpp/absl/strings",
-    "//third_party/abseil-cpp/absl/strings:str_format",
     "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
+  deps = [
+    "//third_party/abseil-cpp/absl/base:core_headers",
+    "//third_party/abseil-cpp/absl/base:log_severity",
+    "//third_party/abseil-cpp/absl/strings",
+    "//third_party/abseil-cpp/absl/strings:str_format",
+  ]
 }
 
 absl_source_set("commandlineflag_internal") {
   visibility = [ ":*" ]
   public = [ "internal/commandlineflag.h" ]
   sources = [ "internal/commandlineflag.cc" ]
-  deps = [
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:fast_type_id",
   ]
@@ -84,7 +93,7 @@
 absl_source_set("commandlineflag") {
   sources = [ "commandlineflag.cc" ]
   public = [ "commandlineflag.h" ]
-  deps = [
+  public_deps = [
     ":commandlineflag_internal",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:fast_type_id",
@@ -97,12 +106,13 @@
 absl_source_set("private_handle_accessor") {
   sources = [ "internal/private_handle_accessor.cc" ]
   public = [ "internal/private_handle_accessor.h" ]
-  deps = [
+  public_deps = [
     ":commandlineflag",
     ":commandlineflag_internal",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/strings:string_view",
   ]
+
   visibility = [ ":*" ]
 }
 
@@ -112,18 +122,21 @@
     "internal/registry.h",
     "reflection.h",
   ]
-  deps = [
+
+  public_deps = [
     ":commandlineflag",
     ":commandlineflag_internal",
+    "//third_party/abseil-cpp/absl/base:config",
+    "//third_party/abseil-cpp/absl/base:fast_type_id",
+    "//third_party/abseil-cpp/absl/container:flat_hash_map",
+    "//third_party/abseil-cpp/absl/strings:string_view",
+  ]
+  deps = [
     ":config",
     ":private_handle_accessor",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
-    "//third_party/abseil-cpp/absl/base:fast_type_id",
     "//third_party/abseil-cpp/absl/base:no_destructor",
-    "//third_party/abseil-cpp/absl/container:flat_hash_map",
     "//third_party/abseil-cpp/absl/strings",
-    "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/synchronization",
   ]
 }
@@ -134,7 +147,8 @@
     "internal/flag.h",
     "internal/sequence_lock.h",
   ]
-  deps = [
+
+  public_deps = [
     ":commandlineflag",
     ":commandlineflag_internal",
     ":config",
@@ -143,15 +157,17 @@
     "//third_party/abseil-cpp/absl/base",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
+    "//third_party/abseil-cpp/absl/meta:type_traits",
+    "//third_party/abseil-cpp/absl/strings:string_view",
+    "//third_party/abseil-cpp/absl/synchronization",
+    "//third_party/abseil-cpp/absl/utility",
+  ]
+  deps = [
     "//third_party/abseil-cpp/absl/base:dynamic_annotations",
     "//third_party/abseil-cpp/absl/base:fast_type_id",
     "//third_party/abseil-cpp/absl/base:no_destructor",
     "//third_party/abseil-cpp/absl/memory",
-    "//third_party/abseil-cpp/absl/meta:type_traits",
     "//third_party/abseil-cpp/absl/strings",
-    "//third_party/abseil-cpp/absl/strings:string_view",
-    "//third_party/abseil-cpp/absl/synchronization",
-    "//third_party/abseil-cpp/absl/utility",
   ]
   visibility = [
     ":*",
@@ -179,8 +195,13 @@
 absl_source_set("usage_internal") {
   sources = [ "internal/usage.cc" ]
   public = [ "internal/usage.h" ]
-  deps = [
+
+  public_deps = [
     ":commandlineflag",
+    "//third_party/abseil-cpp/absl/base:config",
+    "//third_party/abseil-cpp/absl/strings:string_view",
+  ]
+  deps = [
     ":config",
     ":flag",
     ":flag_internal",
@@ -188,11 +209,9 @@
     ":private_handle_accessor",
     ":program_name",
     ":reflection",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:no_destructor",
     "//third_party/abseil-cpp/absl/strings",
-    "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/synchronization",
   ]
   visibility = [ ":*" ]
@@ -201,12 +220,15 @@
 absl_source_set("usage") {
   sources = [ "usage.cc" ]
   public = [ "usage.h" ]
+
+  public_deps = [
+    "//third_party/abseil-cpp/absl/base:config",
+    "//third_party/abseil-cpp/absl/strings:string_view",
+  ]
   deps = [
     ":usage_internal",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
-    "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/synchronization",
   ]
 }
@@ -217,23 +239,26 @@
     "internal/parse.h",
     "parse.h",
   ]
+
+  public_deps = [
+    ":flag",
+    ":usage_internal",
+    "//third_party/abseil-cpp/absl/base:config",
+    "//third_party/abseil-cpp/absl/strings:string_view",
+  ]
   deps = [
     ":commandlineflag",
     ":commandlineflag_internal",
     ":config",
-    ":flag",
     ":flag_internal",
     ":private_handle_accessor",
     ":program_name",
     ":reflection",
     ":usage",
-    ":usage_internal",
     "//third_party/abseil-cpp/absl/algorithm:container",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:no_destructor",
     "//third_party/abseil-cpp/absl/strings",
-    "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/synchronization",
   ]
 }
diff --git a/absl/hash/BUILD.gn b/absl/hash/BUILD.gn
index 1d37a9c..78e5488 100644
--- a/absl/hash/BUILD.gn
+++ b/absl/hash/BUILD.gn
@@ -94,8 +94,9 @@
 absl_source_set("city") {
   public = [ "internal/city.h" ]
   sources = [ "internal/city.cc" ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
   deps = [
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:endian",
     "//third_party/abseil-cpp/absl/numeric:bits",
diff --git a/absl/log/BUILD.gn b/absl/log/BUILD.gn
index 715f348..9bb2a99 100644
--- a/absl/log/BUILD.gn
+++ b/absl/log/BUILD.gn
@@ -32,12 +32,15 @@
 absl_source_set("die_if_null") {
   sources = [ "die_if_null.cc" ]
   public = [ "die_if_null.h" ]
-  deps = [
-    ":log",
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:nullability",
     "//third_party/abseil-cpp/absl/base:nullability_traits_internal",
+  ]
+  deps = [
+    ":log",
     "//third_party/abseil-cpp/absl/strings",
   ]
 }
@@ -63,24 +66,28 @@
 absl_source_set("globals") {
   sources = [ "globals.cc" ]
   public = [ "globals.h" ]
-  deps = [
-    "//third_party/abseil-cpp/absl/base:atomic_hook",
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:log_severity",
-    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
-    "//third_party/abseil-cpp/absl/hash",
     "//third_party/abseil-cpp/absl/log/internal:vlog_config",
     "//third_party/abseil-cpp/absl/strings:string_view",
   ]
+  deps = [
+    "//third_party/abseil-cpp/absl/base:atomic_hook",
+    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
+    "//third_party/abseil-cpp/absl/hash",
+  ]
 }
 
 absl_source_set("initialize") {
   sources = [ "initialize.cc" ]
   public = [ "initialize.h" ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
   deps = [
     ":globals",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/log/internal:globals",
     "//third_party/abseil-cpp/absl/time",
   ]
@@ -101,23 +108,27 @@
 absl_source_set("log_entry") {
   sources = [ "log_entry.cc" ]
   public = [ "log_entry.h" ]
-  deps = [
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:log_severity",
     "//third_party/abseil-cpp/absl/log/internal:config",
-    "//third_party/abseil-cpp/absl/log/internal:proto",
-    "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/time",
     "//third_party/abseil-cpp/absl/types:span",
   ]
+  deps = [
+    "//third_party/abseil-cpp/absl/log/internal:proto",
+    "//third_party/abseil-cpp/absl/strings",
+  ]
 }
 
 absl_source_set("log_sink") {
   sources = [ "log_sink.cc" ]
   public = [ "log_sink.h" ]
-  deps = [
+
+  public_deps = [
     ":log_entry",
     "//third_party/abseil-cpp/absl/base:config",
   ]
diff --git a/absl/log/internal/BUILD.gn b/absl/log/internal/BUILD.gn
index 9710839..338e4ee 100644
--- a/absl/log/internal/BUILD.gn
+++ b/absl/log/internal/BUILD.gn
@@ -17,7 +17,8 @@
 absl_source_set("check_op") {
   sources = [ "check_op.cc" ]
   public = [ "check_op.h" ]
-  deps = [
+
+  public_deps = [
     ":nullguard",
     ":nullstream",
     ":strip",
@@ -25,21 +26,23 @@
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:nullability",
-    "//third_party/abseil-cpp/absl/debugging:leak_check",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/strings:has_ostream_operator",
+    "//third_party/abseil-cpp/absl/strings:string_view",
   ]
+  deps = [ "//third_party/abseil-cpp/absl/debugging:leak_check" ]
 }
 
 absl_source_set("conditions") {
   sources = [ "conditions.cc" ]
   public = [ "conditions.h" ]
-  deps = [
+
+  public_deps = [
     ":voidify",
-    "//third_party/abseil-cpp/absl/base",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
   ]
+  deps = [ "//third_party/abseil-cpp/absl/base" ]
 }
 
 absl_source_set("config") {
@@ -59,33 +62,39 @@
 absl_source_set("format") {
   sources = [ "log_format.cc" ]
   public = [ "log_format.h" ]
-  deps = [
-    ":append_truncated",
+
+  public_deps = [
     ":config",
-    ":globals",
     "//third_party/abseil-cpp/absl/base:config",
-    "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:log_severity",
-    "//third_party/abseil-cpp/absl/strings",
-    "//third_party/abseil-cpp/absl/strings:str_format",
     "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/time",
     "//third_party/abseil-cpp/absl/types:span",
   ]
+  deps = [
+    ":append_truncated",
+    ":globals",
+    "//third_party/abseil-cpp/absl/base:core_headers",
+    "//third_party/abseil-cpp/absl/strings",
+    "//third_party/abseil-cpp/absl/strings:str_format",
+  ]
 }
 
 absl_source_set("globals") {
   sources = [ "globals.cc" ]
   public = [ "globals.h" ]
-  deps = [
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
-    "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:log_severity",
-    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
-    "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/time",
   ]
+  deps = [
+    "//third_party/abseil-cpp/absl/base:core_headers",
+    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
+    "//third_party/abseil-cpp/absl/strings",
+  ]
 }
 
 absl_source_set("log_impl") {
@@ -101,35 +110,38 @@
 absl_source_set("log_message") {
   sources = [ "log_message.cc" ]
   public = [ "log_message.h" ]
-  deps = [
-    ":append_truncated",
-    ":format",
-    ":globals",
-    ":log_sink_set",
+
+  public_deps = [
     ":nullguard",
-    ":proto",
     ":structured_proto",
-    "//third_party/abseil-cpp/absl/base",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:errno_saver",
     "//third_party/abseil-cpp/absl/base:log_severity",
     "//third_party/abseil-cpp/absl/base:nullability",
+    "//third_party/abseil-cpp/absl/log:log_entry",
+    "//third_party/abseil-cpp/absl/log:log_sink",
+    "//third_party/abseil-cpp/absl/strings",
+    "//third_party/abseil-cpp/absl/strings:string_view",
+    "//third_party/abseil-cpp/absl/time",
+    "//third_party/abseil-cpp/absl/types:source_location",
+    "//third_party/abseil-cpp/absl/types:span",
+  ]
+  deps = [
+    ":append_truncated",
+    ":format",
+    ":globals",
+    ":log_sink_set",
+    ":proto",
+    "//third_party/abseil-cpp/absl/base",
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
     "//third_party/abseil-cpp/absl/base:strerror",
     "//third_party/abseil-cpp/absl/container:inlined_vector",
     "//third_party/abseil-cpp/absl/debugging:examine_stack",
     "//third_party/abseil-cpp/absl/log:globals",
-    "//third_party/abseil-cpp/absl/log:log_entry",
-    "//third_party/abseil-cpp/absl/log:log_sink",
     "//third_party/abseil-cpp/absl/log:log_sink_registry",
     "//third_party/abseil-cpp/absl/memory",
-    "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/strings:internal",
-    "//third_party/abseil-cpp/absl/strings:string_view",
-    "//third_party/abseil-cpp/absl/time",
-    "//third_party/abseil-cpp/absl/types:source_location",
-    "//third_party/abseil-cpp/absl/types:span",
   ]
 }
 
@@ -146,22 +158,25 @@
 absl_source_set("log_sink_set") {
   sources = [ "log_sink_set.cc" ]
   public = [ "log_sink_set.h" ]
+
+  public_deps = [
+    "//third_party/abseil-cpp/absl/base:config",
+    "//third_party/abseil-cpp/absl/log:log_entry",
+    "//third_party/abseil-cpp/absl/log:log_sink",
+    "//third_party/abseil-cpp/absl/types:span",
+  ]
   deps = [
     ":config",
     ":globals",
     "//third_party/abseil-cpp/absl/base",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:log_severity",
     "//third_party/abseil-cpp/absl/base:no_destructor",
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
     "//third_party/abseil-cpp/absl/cleanup",
     "//third_party/abseil-cpp/absl/log:globals",
-    "//third_party/abseil-cpp/absl/log:log_entry",
-    "//third_party/abseil-cpp/absl/log:log_sink",
     "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/synchronization",
-    "//third_party/abseil-cpp/absl/types:span",
   ]
   if (is_android) {
     libs = [ "log" ]
@@ -171,7 +186,8 @@
 absl_source_set("nullguard") {
   sources = [ "nullguard.cc" ]
   public = [ "nullguard.h" ]
-  deps = [
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
   ]
@@ -214,13 +230,14 @@
   sources = [ "structured_proto.cc" ]
   public = [ "structured_proto.h" ]
   visibility = [ "//third_party/abseil-cpp/absl/log/*" ]
-  deps = [
+
+  public_deps = [
     ":proto",
     "//third_party/abseil-cpp/absl/base:config",
-    "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:span",
     "//third_party/abseil-cpp/absl/types:variant",
   ]
+  deps = [ "//third_party/abseil-cpp/absl/strings" ]
 }
 
 absl_test("structured_proto_test") {
@@ -291,7 +308,8 @@
 absl_source_set("proto") {
   sources = [ "proto.cc" ]
   public = [ "proto.h" ]
-  deps = [
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
@@ -303,10 +321,12 @@
 absl_source_set("fnmatch") {
   sources = [ "fnmatch.cc" ]
   public = [ "fnmatch.h" ]
-  deps = [
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
-    "//third_party/abseil-cpp/absl/strings",
+    "//third_party/abseil-cpp/absl/strings:string_view",
   ]
+  deps = [ "//third_party/abseil-cpp/absl/strings" ]
 }
 
 absl_source_set("vlog_config") {
@@ -316,13 +336,17 @@
     "//third_party/abseil-cpp/absl/log/*",
     "//third_party/abseil-cpp/absl/status:*",
   ]
+
+  public_deps = [
+    "//third_party/abseil-cpp/absl/base:config",
+    "//third_party/abseil-cpp/absl/base:core_headers",
+    "//third_party/abseil-cpp/absl/base:nullability",
+    "//third_party/abseil-cpp/absl/strings:string_view",
+  ]
   deps = [
     ":fnmatch",
     "//third_party/abseil-cpp/absl/base",
-    "//third_party/abseil-cpp/absl/base:config",
-    "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:no_destructor",
-    "//third_party/abseil-cpp/absl/base:nullability",
     "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/synchronization",
diff --git a/absl/numeric/BUILD.gn b/absl/numeric/BUILD.gn
index 3473d05..5f74dc8 100644
--- a/absl/numeric/BUILD.gn
+++ b/absl/numeric/BUILD.gn
@@ -19,16 +19,19 @@
 absl_source_set("int128") {
   sources = [
     "int128.cc",
-    "int128_have_intrinsic.inc",
     "int128_no_intrinsic.inc",
   ]
-  public = [ "int128.h" ]
-  deps = [
-    ":bits",
+  public = [
+    "int128.h",
+    "int128_have_intrinsic.inc",
+  ]
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/types:compare",
   ]
+  deps = [ ":bits" ]
 }
 
 absl_test("int128_test") {
diff --git a/absl/profiling/BUILD.gn b/absl/profiling/BUILD.gn
index 4ec5051..4779d95 100644
--- a/absl/profiling/BUILD.gn
+++ b/absl/profiling/BUILD.gn
@@ -32,10 +32,11 @@
 absl_source_set("exponential_biased") {
   sources = [ "internal/exponential_biased.cc" ]
   public = [ "internal/exponential_biased.h" ]
-  deps = [
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
   ]
+
   visibility = [ "//third_party/abseil-cpp/absl/*" ]
 }
 
diff --git a/absl/random/BUILD.gn b/absl/random/BUILD.gn
index 1954ae4..3f19e6a 100644
--- a/absl/random/BUILD.gn
+++ b/absl/random/BUILD.gn
@@ -34,19 +34,22 @@
     "discrete_distribution.cc",
     "gaussian_distribution.cc",
   ]
-  deps = [
-    "//third_party/abseil-cpp/absl/base:base_internal",
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
-    "//third_party/abseil-cpp/absl/meta:type_traits",
-    "//third_party/abseil-cpp/absl/random/internal:distribution_caller",
     "//third_party/abseil-cpp/absl/random/internal:fast_uniform_bits",
-    "//third_party/abseil-cpp/absl/random/internal:fastmath",
     "//third_party/abseil-cpp/absl/random/internal:generate_real",
     "//third_party/abseil-cpp/absl/random/internal:iostream_state_saver",
     "//third_party/abseil-cpp/absl/random/internal:traits",
-    "//third_party/abseil-cpp/absl/random/internal:uniform_helper",
     "//third_party/abseil-cpp/absl/random/internal:wide_multiply",
+  ]
+  deps = [
+    "//third_party/abseil-cpp/absl/base:base_internal",
+    "//third_party/abseil-cpp/absl/meta:type_traits",
+    "//third_party/abseil-cpp/absl/random/internal:distribution_caller",
+    "//third_party/abseil-cpp/absl/random/internal:fastmath",
+    "//third_party/abseil-cpp/absl/random/internal:uniform_helper",
     "//third_party/abseil-cpp/absl/strings",
   ]
 }
@@ -54,25 +57,25 @@
 absl_source_set("seed_gen_exception") {
   public = [ "seed_gen_exception.h" ]
   sources = [ "seed_gen_exception.cc" ]
-  deps = [
-    "//third_party/abseil-cpp/absl/base:config",
-    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
-  ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
+  deps = [ "//third_party/abseil-cpp/absl/base:raw_logging_internal" ]
 }
 
 absl_source_set("seed_sequences") {
   public = [ "seed_sequences.h" ]
   sources = [ "seed_sequences.cc" ]
-  deps = [
+
+  public_deps = [
     ":seed_gen_exception",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:nullability",
-    "//third_party/abseil-cpp/absl/random/internal:entropy_pool",
     "//third_party/abseil-cpp/absl/random/internal:salted_seed_seq",
     "//third_party/abseil-cpp/absl/random/internal:seed_material",
     "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/types:span",
   ]
+  deps = [ "//third_party/abseil-cpp/absl/random/internal:entropy_pool" ]
 }
 
 absl_source_set("bit_gen_ref") {
diff --git a/absl/random/internal/BUILD.gn b/absl/random/internal/BUILD.gn
index 16df061..c672c15 100644
--- a/absl/random/internal/BUILD.gn
+++ b/absl/random/internal/BUILD.gn
@@ -44,15 +44,18 @@
     # TODO(mbonadei): In the bazel file this is -DEFAULTLIB:bcrypt.lib.
     libs = [ "bcrypt.lib" ]
   }
-  deps = [
+
+  public_deps = [
     ":fast_uniform_bits",
     "//third_party/abseil-cpp/absl/base:config",
+    "//third_party/abseil-cpp/absl/types:optional",
+    "//third_party/abseil-cpp/absl/types:span",
+  ]
+  deps = [
     "//third_party/abseil-cpp/absl/base:dynamic_annotations",
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/strings:string_view",
-    "//third_party/abseil-cpp/absl/types:optional",
-    "//third_party/abseil-cpp/absl/types:span",
   ]
   visibility = [ "//third_party/abseil-cpp/absl/random/*" ]
 }
@@ -60,12 +63,13 @@
 absl_source_set("entropy_pool") {
   public = [ "entropy_pool.h" ]
   sources = [ "entropy_pool.cc" ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
   deps = [
     ":platform",
     ":randen",
     ":seed_material",
     "//third_party/abseil-cpp/absl/base",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/random:seed_gen_exception",
     "//third_party/abseil-cpp/absl/types:span",
@@ -183,31 +187,32 @@
     "randen_traits.h",
   ]
   sources = [ "randen_round_keys.cc" ]
-  deps = [
-    "//build:chromeos_buildflags",
-    "//third_party/abseil-cpp/absl/base:config",
-  ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
+  deps = [ "//build:chromeos_buildflags" ]
   visibility = [ "//third_party/abseil-cpp/absl/random/*" ]
 }
 
 absl_source_set("randen") {
   public = [ "randen.h" ]
   sources = [ "randen.cc" ]
-  deps = [
+
+  public_deps = [
     ":platform",
     ":randen_hwaes",
     ":randen_slow",
-    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
   ]
+  deps = [ "//third_party/abseil-cpp/absl/base:raw_logging_internal" ]
   visibility = [ "//third_party/abseil-cpp/absl/random/*" ]
 }
 
 absl_source_set("randen_slow") {
   public = [ "randen_slow.h" ]
   sources = [ "randen_slow.cc" ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
   deps = [
     ":platform",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:endian",
     "//third_party/abseil-cpp/absl/numeric:int128",
@@ -221,10 +226,11 @@
     "randen_hwaes.h",
   ]
   sources = [ "randen_detect.cc" ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
   deps = [
     ":platform",
     ":randen_hwaes_impl",
-    "//third_party/abseil-cpp/absl/base:config",
   ]
   visibility = [ "//third_party/abseil-cpp/absl/random/*" ]
 }
@@ -234,9 +240,10 @@
     "randen_hwaes.cc",
     "randen_hwaes.h",
   ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
   deps = [
     ":platform",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/numeric:int128",
   ]
diff --git a/absl/status/BUILD.gn b/absl/status/BUILD.gn
index 47cfa2b..d8460c7 100644
--- a/absl/status/BUILD.gn
+++ b/absl/status/BUILD.gn
@@ -6,39 +6,42 @@
 
 absl_source_set("status") {
   public = [
+    "internal/status_internal.h",
     "status.h",
     "status_payload_printer.h",
   ]
   sources = [
     "internal/status_internal.cc",
-    "internal/status_internal.h",
     "status.cc",
     "status_payload_printer.cc",
   ]
-  deps = [
-    "//third_party/abseil-cpp/absl/base:atomic_hook",
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
-    "//third_party/abseil-cpp/absl/base:no_destructor",
     "//third_party/abseil-cpp/absl/base:nullability",
-    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
-    "//third_party/abseil-cpp/absl/base:strerror",
     "//third_party/abseil-cpp/absl/container:inlined_vector",
-    "//third_party/abseil-cpp/absl/debugging:leak_check",
-    "//third_party/abseil-cpp/absl/debugging:stacktrace",
-    "//third_party/abseil-cpp/absl/debugging:symbolize",
     "//third_party/abseil-cpp/absl/functional:function_ref",
-    "//third_party/abseil-cpp/absl/hash",
-    "//third_party/abseil-cpp/absl/memory",
-    "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/strings:cord",
-    "//third_party/abseil-cpp/absl/strings:str_format",
     "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/types:optional",
     "//third_party/abseil-cpp/absl/types:optional_ref",
     "//third_party/abseil-cpp/absl/types:source_location",
     "//third_party/abseil-cpp/absl/types:span",
   ]
+  deps = [
+    "//third_party/abseil-cpp/absl/base:atomic_hook",
+    "//third_party/abseil-cpp/absl/base:no_destructor",
+    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
+    "//third_party/abseil-cpp/absl/base:strerror",
+    "//third_party/abseil-cpp/absl/debugging:leak_check",
+    "//third_party/abseil-cpp/absl/debugging:stacktrace",
+    "//third_party/abseil-cpp/absl/debugging:symbolize",
+    "//third_party/abseil-cpp/absl/hash",
+    "//third_party/abseil-cpp/absl/memory",
+    "//third_party/abseil-cpp/absl/strings",
+    "//third_party/abseil-cpp/absl/strings:str_format",
+  ]
 }
 
 absl_test("status_test") {
@@ -53,18 +56,17 @@
 }
 
 absl_source_set("statusor") {
-  public = [ "statusor.h" ]
-  sources = [
+  public = [
     "internal/statusor_internal.h",
-    "statusor.cc",
+    "statusor.h",
   ]
-  deps = [
+  sources = [ "statusor.cc" ]
+
+  public_deps = [
     ":status",
     "//third_party/abseil-cpp/absl/base",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:nullability",
-    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
     "//third_party/abseil-cpp/absl/meta:type_traits",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/strings:has_ostream_operator",
@@ -75,6 +77,10 @@
     "//third_party/abseil-cpp/absl/types:variant",
     "//third_party/abseil-cpp/absl/utility",
   ]
+  deps = [
+    "//third_party/abseil-cpp/absl/base:config",
+    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
+  ]
 }
 
 absl_test("statusor_test") {
@@ -97,18 +103,20 @@
 absl_source_set("status_builder") {
   sources = [ "status_builder.cc" ]
   public = [ "status_builder.h" ]
-  deps = [
+
+  public_deps = [
     ":status",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:log_severity",
-    "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/strings:cord",
     "//third_party/abseil-cpp/absl/strings:internal",
+    "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/strings:stringify_stream",
     "//third_party/abseil-cpp/absl/time",
     "//third_party/abseil-cpp/absl/types:source_location",
   ]
+  deps = [ "//third_party/abseil-cpp/absl/strings" ]
 }
 
 absl_test("status_builder_test") {
diff --git a/absl/strings/BUILD.gn b/absl/strings/BUILD.gn
index 2fe2505..911fba8 100644
--- a/absl/strings/BUILD.gn
+++ b/absl/strings/BUILD.gn
@@ -28,10 +28,7 @@
     "internal/memutil.cc",
     "internal/memutil.h",
     "internal/stl_type_traits.h",
-    "internal/str_join_internal.h",
-    "internal/str_split_internal.h",
     "internal/stringify_sink.cc",
-    "internal/stringify_sink.h",
     "match.cc",
     "numbers.cc",
     "str_cat.cc",
@@ -45,7 +42,10 @@
     "escaping.h",
     "has_absl_stringify.h",
     "internal/damerau_levenshtein_distance.h",
+    "internal/str_join_internal.h",
+    "internal/str_split_internal.h",
     "internal/string_constant.h",
+    "internal/stringify_sink.h",
     "match.h",
     "numbers.h",
     "str_cat.h",
@@ -56,34 +56,35 @@
     "substitute.h",
   ]
   public_deps = [
+    ":internal",
+    ":resize_and_overwrite",
+
     # string_view.h was once part of :strings, so string_view.h is
     # re-exported for backwards compatibility.
     # New code should directly depend on :string_view.
     # TODO(crbug.com/1466243): Remove once all targets are migrated to
     # :string_view.
     ":string_view",
-  ]
-  deps = [
-    ":append_and_overwrite",
-    ":charset",
-    ":internal",
-    ":resize_and_overwrite",
-    ":string_view",
-    "//third_party/abseil-cpp/absl/base",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:endian",
-    "//third_party/abseil-cpp/absl/base:hardening",
     "//third_party/abseil-cpp/absl/base:iterator_traits_internal",
     "//third_party/abseil-cpp/absl/base:nullability",
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
-    "//third_party/abseil-cpp/absl/base:throw_delegate",
-    "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/meta:type_traits",
     "//third_party/abseil-cpp/absl/numeric:bits",
     "//third_party/abseil-cpp/absl/numeric:int128",
     "//third_party/abseil-cpp/absl/types:source_location",
   ]
+  deps = [
+    ":append_and_overwrite",
+    ":charset",
+    ":string_view",
+    "//third_party/abseil-cpp/absl/base",
+    "//third_party/abseil-cpp/absl/base:hardening",
+    "//third_party/abseil-cpp/absl/base:throw_delegate",
+    "//third_party/abseil-cpp/absl/memory",
+  ]
 }
 
 absl_source_set("internal") {
@@ -98,9 +99,10 @@
     "internal/resize_uninitialized.h",
     "internal/utf8.h",
   ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
   deps = [
     ":resize_and_overwrite",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:endian",
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
@@ -254,9 +256,9 @@
     "internal/cord_rep_flat.h",
   ]
   visibility = [ ":*" ]
-  deps = [
+
+  public_deps = [
     ":string_view",
-    ":strings",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:endian",
@@ -264,11 +266,14 @@
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
     "//third_party/abseil-cpp/absl/container:compressed_tuple",
     "//third_party/abseil-cpp/absl/container:container_memory",
-    "//third_party/abseil-cpp/absl/container:inlined_vector",
     "//third_party/abseil-cpp/absl/crc:crc_cord_state",
     "//third_party/abseil-cpp/absl/functional:function_ref",
     "//third_party/abseil-cpp/absl/types:span",
   ]
+  deps = [
+    ":strings",
+    "//third_party/abseil-cpp/absl/container:inlined_vector",
+  ]
 }
 
 absl_test("cord_data_edge_test") {
@@ -348,20 +353,18 @@
   sources = [
     "cord.cc",
     "cord_analysis.cc",
-    "cord_analysis.h",
   ]
   public = [
     "cord.h",
+    "cord_analysis.h",
     "cord_buffer.h",
   ]
-  deps = [
-    ":append_and_overwrite",
+
+  public_deps = [
     ":cord_internal",
     ":cordz_info",
     ":cordz_update_scope",
     ":cordz_update_tracker",
-    ":internal",
-    ":resize_and_overwrite",
     ":string_view",
     ":strings",
     "//third_party/abseil-cpp/absl/base:config",
@@ -369,10 +372,6 @@
     "//third_party/abseil-cpp/absl/base:endian",
     "//third_party/abseil-cpp/absl/base:hardening",
     "//third_party/abseil-cpp/absl/base:nullability",
-    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
-    "//third_party/abseil-cpp/absl/cleanup",
-    "//third_party/abseil-cpp/absl/container:inlined_vector",
-    "//third_party/abseil-cpp/absl/crc:crc32c",
     "//third_party/abseil-cpp/absl/crc:crc_cord_state",
     "//third_party/abseil-cpp/absl/functional:function_ref",
     "//third_party/abseil-cpp/absl/hash:weakly_mixed_integer",
@@ -382,16 +381,28 @@
     "//third_party/abseil-cpp/absl/types:optional",
     "//third_party/abseil-cpp/absl/types:span",
   ]
+  deps = [
+    ":append_and_overwrite",
+    ":internal",
+    ":resize_and_overwrite",
+    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
+    "//third_party/abseil-cpp/absl/cleanup",
+    "//third_party/abseil-cpp/absl/container:inlined_vector",
+    "//third_party/abseil-cpp/absl/crc:crc32c",
+  ]
 }
 
 absl_source_set("cordz_handle") {
   sources = [ "internal/cordz_handle.cc" ]
   public = [ "internal/cordz_handle.h" ]
   visibility = [ "//third_party/abseil-cpp/*" ]
-  deps = [
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
-    "//third_party/abseil-cpp/absl/base:no_destructor",
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
+  ]
+  deps = [
+    "//third_party/abseil-cpp/absl/base:no_destructor",
     "//third_party/abseil-cpp/absl/synchronization",
   ]
 }
@@ -400,22 +411,25 @@
   sources = [ "internal/cordz_info.cc" ]
   public = [ "internal/cordz_info.h" ]
   visibility = [ "//third_party/abseil-cpp/*" ]
-  deps = [
+
+  public_deps = [
     ":cord_internal",
     ":cordz_functions",
     ":cordz_handle",
     ":cordz_statistics",
     ":cordz_update_tracker",
-    "//third_party/abseil-cpp/absl/base",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
-    "//third_party/abseil-cpp/absl/base:no_destructor",
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
+    "//third_party/abseil-cpp/absl/synchronization",
+    "//third_party/abseil-cpp/absl/types:span",
+  ]
+  deps = [
+    "//third_party/abseil-cpp/absl/base",
+    "//third_party/abseil-cpp/absl/base:no_destructor",
     "//third_party/abseil-cpp/absl/container:inlined_vector",
     "//third_party/abseil-cpp/absl/debugging:stacktrace",
-    "//third_party/abseil-cpp/absl/synchronization",
     "//third_party/abseil-cpp/absl/time",
-    "//third_party/abseil-cpp/absl/types:span",
   ]
 }
 
@@ -458,9 +472,12 @@
   sources = [ "internal/cordz_functions.cc" ]
   public = [ "internal/cordz_functions.h" ]
   visibility = [ "//third_party/abseil-cpp/*" ]
-  deps = [
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
+  ]
+  deps = [
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
     "//third_party/abseil-cpp/absl/profiling:exponential_biased",
   ]
@@ -710,23 +727,26 @@
     "internal/str_format/parser.h",
   ]
   visibility = [ ":*" ]
-  deps = [
-    ":internal",
+
+  public_deps = [
     ":string_view",
     ":strings",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
-    "//third_party/abseil-cpp/absl/container:fixed_array",
     "//third_party/abseil-cpp/absl/container:inlined_vector",
-    "//third_party/abseil-cpp/absl/functional:function_ref",
     "//third_party/abseil-cpp/absl/meta:type_traits",
-    "//third_party/abseil-cpp/absl/numeric:bits",
     "//third_party/abseil-cpp/absl/numeric:int128",
-    "//third_party/abseil-cpp/absl/numeric:representation",
-    "//third_party/abseil-cpp/absl/types:optional",
     "//third_party/abseil-cpp/absl/types:span",
     "//third_party/abseil-cpp/absl/utility",
   ]
+  deps = [
+    ":internal",
+    "//third_party/abseil-cpp/absl/container:fixed_array",
+    "//third_party/abseil-cpp/absl/functional:function_ref",
+    "//third_party/abseil-cpp/absl/numeric:bits",
+    "//third_party/abseil-cpp/absl/numeric:representation",
+    "//third_party/abseil-cpp/absl/types:optional",
+  ]
 }
 
 absl_test("str_format_test") {
diff --git a/absl/synchronization/BUILD.gn b/absl/synchronization/BUILD.gn
index 34274bc..1a5a2fb 100644
--- a/absl/synchronization/BUILD.gn
+++ b/absl/synchronization/BUILD.gn
@@ -7,10 +7,11 @@
 absl_source_set("graphcycles_internal") {
   sources = [ "internal/graphcycles.cc" ]
   public = [ "internal/graphcycles.h" ]
+
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
   deps = [
     "//third_party/abseil-cpp/absl/base",
     "//third_party/abseil-cpp/absl/base:base_internal",
-    "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:malloc_internal",
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
@@ -21,13 +22,16 @@
 absl_source_set("kernel_timeout_internal") {
   sources = [ "internal/kernel_timeout.cc" ]
   public = [ "internal/kernel_timeout.h" ]
-  deps = [
-    "//third_party/abseil-cpp/absl/base",
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
-    "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
     "//third_party/abseil-cpp/absl/time",
   ]
+  deps = [
+    "//third_party/abseil-cpp/absl/base",
+    "//third_party/abseil-cpp/absl/base:core_headers",
+  ]
   visibility = [ ":*" ]
 }
 
@@ -72,24 +76,27 @@
     "mutex.h",
     "notification.h",
   ]
-  deps = [
-    ":graphcycles_internal",
+
+  public_deps = [
     ":kernel_timeout_internal",
     "//third_party/abseil-cpp/absl/base",
-    "//third_party/abseil-cpp/absl/base:atomic_hook",
-    "//third_party/abseil-cpp/absl/base:base_internal",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
-    "//third_party/abseil-cpp/absl/base:dynamic_annotations",
-    "//third_party/abseil-cpp/absl/base:malloc_internal",
     "//third_party/abseil-cpp/absl/base:nullability",
-    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
     "//third_party/abseil-cpp/absl/base:tracing_internal",
-    "//third_party/abseil-cpp/absl/debugging:stacktrace",
-    "//third_party/abseil-cpp/absl/debugging:symbolize",
     "//third_party/abseil-cpp/absl/meta:type_traits",
     "//third_party/abseil-cpp/absl/time",
   ]
+  deps = [
+    ":graphcycles_internal",
+    "//third_party/abseil-cpp/absl/base:atomic_hook",
+    "//third_party/abseil-cpp/absl/base:base_internal",
+    "//third_party/abseil-cpp/absl/base:dynamic_annotations",
+    "//third_party/abseil-cpp/absl/base:malloc_internal",
+    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
+    "//third_party/abseil-cpp/absl/debugging:stacktrace",
+    "//third_party/abseil-cpp/absl/debugging:symbolize",
+  ]
 }
 
 absl_test("barrier_test") {
diff --git a/absl/time/BUILD.gn b/absl/time/BUILD.gn
index 4655eed..cfb2992 100644
--- a/absl/time/BUILD.gn
+++ b/absl/time/BUILD.gn
@@ -19,16 +19,19 @@
     "clock.h",
     "time.h",
   ]
-  deps = [
-    "//third_party/abseil-cpp/absl/base",
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
-    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
-    "//third_party/abseil-cpp/absl/numeric:int128",
-    "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/strings:string_view",
     "//third_party/abseil-cpp/absl/time/internal/cctz:civil_time",
     "//third_party/abseil-cpp/absl/time/internal/cctz:time_zone",
+  ]
+  deps = [
+    "//third_party/abseil-cpp/absl/base",
+    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
+    "//third_party/abseil-cpp/absl/numeric:int128",
+    "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
 }
@@ -36,15 +39,18 @@
 absl_source_set("clock_interface") {
   sources = [ "clock_interface.cc" ]
   public = [ "clock_interface.h" ]
-  deps = [
+
+  public_deps = [
     ":time",
     "//third_party/abseil-cpp/absl/base:config",
     "//third_party/abseil-cpp/absl/base:core_headers",
-    "//third_party/abseil-cpp/absl/base:no_destructor",
     "//third_party/abseil-cpp/absl/base:nullability",
-    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
     "//third_party/abseil-cpp/absl/synchronization",
   ]
+  deps = [
+    "//third_party/abseil-cpp/absl/base:no_destructor",
+    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
+  ]
 }
 
 absl_source_set("simulated_clock") {
diff --git a/absl/time/internal/cctz/BUILD.gn b/absl/time/internal/cctz/BUILD.gn
index 592c835..92ce5c8 100644
--- a/absl/time/internal/cctz/BUILD.gn
+++ b/absl/time/internal/cctz/BUILD.gn
@@ -10,7 +10,7 @@
     "include/cctz/civil_time.h",
     "include/cctz/civil_time_detail.h",
   ]
-  deps = [ "//third_party/abseil-cpp/absl/base:config" ]
+  public_deps = [ "//third_party/abseil-cpp/absl/base:config" ]
 }
 
 absl_source_set("time_zone") {
@@ -49,12 +49,12 @@
     # Work-around for https://github.com/llvm/llvm-project/issues/117630
     defines += [ "_XOPEN_SOURCE=700" ]
   }
-  deps = [
+  public_deps = [
     ":civil_time",
     "//third_party/abseil-cpp/absl/base:config",
   ]
   if (is_fuchsia) {
-    deps += [
+    deps = [
       "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.intl:fuchsia.intl_hlcpp",
       "//third_party/fuchsia-sdk/sdk/pkg/async",
       "//third_party/fuchsia-sdk/sdk/pkg/async-loop-cpp",
diff --git a/absl/types/BUILD.gn b/absl/types/BUILD.gn
index 6fc49c6..5fae9c1 100644
--- a/absl/types/BUILD.gn
+++ b/absl/types/BUILD.gn
@@ -17,11 +17,12 @@
 absl_source_set("source_location") {
   public = [ "source_location.h" ]
   sources = [ "source_location.cc" ]
-  deps = [
+
+  public_deps = [
     "//third_party/abseil-cpp/absl/base:config",
-    "//third_party/abseil-cpp/absl/base:core_headers",
     "//third_party/abseil-cpp/absl/base:nullability",
   ]
+  deps = [ "//third_party/abseil-cpp/absl/base:core_headers" ]
 }
 
 absl_test("source_location_test") {