Change rules_proto loads to protobuf

PiperOrigin-RevId: 681872027
Change-Id: I89725e873bbfe61ab46f6c7483477d4af796db71
diff --git a/src/main/java/com/google/devtools/build/lib/packages/semantics/BuildLanguageOptions.java b/src/main/java/com/google/devtools/build/lib/packages/semantics/BuildLanguageOptions.java
index 171a2cb..9d9c8d1 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/semantics/BuildLanguageOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/semantics/BuildLanguageOptions.java
@@ -727,9 +727,7 @@
       documentationCategory = OptionDocumentationCategory.TOOLCHAIN,
       effectTags = {OptionEffectTag.LOADING_AND_ANALYSIS},
       metadataTags = {OptionMetadataTag.INCOMPATIBLE_CHANGE},
-      help =
-          "If true, proto lang rules define toolchains from rules_proto, rules_java, rules_cc"
-              + " repositories.")
+      help = "If true, proto lang rules define toolchains from protobuf repository.")
   public boolean incompatibleEnableProtoToolchainResolution;
 
   // Flip when java_single_jar is feature complete
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/proto/BUILD b/src/main/java/com/google/devtools/build/lib/skyframe/proto/BUILD
index 914bfbc..121660c 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/proto/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/proto/BUILD
@@ -1,5 +1,5 @@
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 load("@rules_java//java:defs.bzl", "java_proto_library")
-load("@rules_proto//proto:defs.bzl", "proto_library")
 load("//tools/build_rules:utilities.bzl", "java_library_srcs")
 
 package(default_visibility = ["//src:__pkg__"])
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/proto/ProtoCommonApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/proto/ProtoCommonApi.java
index 85b612f..8a65886 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/proto/ProtoCommonApi.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/proto/ProtoCommonApi.java
@@ -26,9 +26,5 @@
 @StarlarkBuiltin(
     name = "proto_common",
     category = DocCategory.TOP_LEVEL_MODULE,
-    doc =
-        "Utilities for protocol buffers. <p>Please consider using"
-            + " <code>load(\"@rules_proto//proto:defs.bzl\", \"proto_common\")</code> to load this"
-            + " symbol from <a href=\"https://github.com/bazelbuild/rules_proto\">rules_proto</a>."
-            + "</p>")
+    doc = "Private utilities for protocol buffers. Do not use.")
 public interface ProtoCommonApi extends StarlarkValue {}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkdebug/proto/BUILD b/src/main/java/com/google/devtools/build/lib/starlarkdebug/proto/BUILD
index 0459dd0..bc4935e 100644
--- a/src/main/java/com/google/devtools/build/lib/starlarkdebug/proto/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/starlarkdebug/proto/BUILD
@@ -1,5 +1,5 @@
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 load("@rules_java//java:defs.bzl", "java_proto_library")
-load("@rules_proto//proto:defs.bzl", "proto_library")
 load("//tools/build_rules:utilities.bzl", "java_library_srcs")
 
 package(default_visibility = ["//src:__subpackages__"])
diff --git a/src/main/java/com/google/devtools/build/skyframe/BUILD b/src/main/java/com/google/devtools/build/skyframe/BUILD
index 4c3398d..e46f13b 100644
--- a/src/main/java/com/google/devtools/build/skyframe/BUILD
+++ b/src/main/java/com/google/devtools/build/skyframe/BUILD
@@ -1,5 +1,5 @@
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 load("@rules_java//java:defs.bzl", "java_library")
-load("@rules_proto//proto:defs.bzl", "proto_library")
 load("//tools/build_rules:utilities.bzl", "java_library_srcs")
 
 # Description:
diff --git a/src/main/starlark/builtins_bzl/common/proto/proto_lang_toolchain.bzl b/src/main/starlark/builtins_bzl/common/proto/proto_lang_toolchain.bzl
index 32588e6..e91297b 100644
--- a/src/main/starlark/builtins_bzl/common/proto/proto_lang_toolchain.bzl
+++ b/src/main/starlark/builtins_bzl/common/proto/proto_lang_toolchain.bzl
@@ -66,8 +66,8 @@
 proto_lang_toolchain = rule(
     _rule_impl,
     doc = """
-<p>If using Bazel, please load the rule from <a href="https://github.com/bazelbuild/rules_proto">
-https://github.com/bazelbuild/rules_proto</a>.
+<p>If using Bazel, please load the rule from <a href="https://github.com/google/protobuf">
+https://github.com/google/protobuf</a>.
 
 <p>Specifies how a LANG_proto_library rule (e.g., <code>java_proto_library</code>) should invoke the
 proto-compiler.
diff --git a/src/main/starlark/builtins_bzl/common/proto/proto_library.bzl b/src/main/starlark/builtins_bzl/common/proto/proto_library.bzl
index 6588a35..976b6c3 100644
--- a/src/main/starlark/builtins_bzl/common/proto/proto_library.bzl
+++ b/src/main/starlark/builtins_bzl/common/proto/proto_library.bzl
@@ -235,8 +235,8 @@
     # TODO(b/311576642): proto_common docs are missing
     # TODO(b/311576642): ProtoInfo link doesn't work and docs are missing
     doc = """
-<p>If using Bazel, please load the rule from <a href="https://github.com/bazelbuild/rules_proto">
-https://github.com/bazelbuild/rules_proto</a>.
+<p>If using Bazel, please load the rule from <a href="https://github.com/google/protobuf">
+https://github.com/google/protobuf</a>.
 
 <p>Use <code>proto_library</code> to define libraries of protocol buffers which
 may be used from multiple languages. A <code>proto_library</code> may be listed
diff --git a/src/main/starlark/builtins_bzl/common/proto/proto_semantics.bzl b/src/main/starlark/builtins_bzl/common/proto/proto_semantics.bzl
index 80590a3..7d80cfb 100644
--- a/src/main/starlark/builtins_bzl/common/proto/proto_semantics.bzl
+++ b/src/main/starlark/builtins_bzl/common/proto/proto_semantics.bzl
@@ -17,7 +17,7 @@
 """
 
 semantics = struct(
-    PROTO_TOOLCHAIN = "@rules_proto//proto:toolchain_type",
+    PROTO_TOOLCHAIN = "@protobuf//bazel/private:proto_toolchain_type",
     # This constant is used in ProtoCompileActionBuilder to generate an error message that's
     # displayed when a strict proto deps violation occurs.
     #
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/MockProtoSupport.java b/src/test/java/com/google/devtools/build/lib/packages/util/MockProtoSupport.java
index 8b40038..c953598 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/MockProtoSupport.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/MockProtoSupport.java
@@ -356,6 +356,7 @@
   }
 
   public static void setupWorkspace(MockToolsConfig config) throws IOException {
+    // TODO - ilist@: Remove after Google proto_library doesn't depend on rules_proto
     config.create(
         "third_party/bazel_rules/rules_proto/proto/BUILD",
         """
@@ -367,25 +368,24 @@
         )
         """);
     config.create(
-        "third_party/bazel_rules/rules_proto/proto/defs.bzl",
+        "protobuf_workspace/bazel/private/BUILD",
         """
-        load(":proto_lang_toolchain.bzl", _proto_lang_toolchain = "proto_lang_toolchain")
+        licenses(["notice"])
 
-        def _add_tags(kargs):
-            if "tags" in kargs:
-                kargs["tags"] += ["__PROTO_RULES_MIGRATION_DO_NOT_USE_WILL_BREAK__"]
-            else:
-                kargs["tags"] = ["__PROTO_RULES_MIGRATION_DO_NOT_USE_WILL_BREAK__"]
-            return kargs
-
+        toolchain_type(
+            name = "proto_toolchain_type",
+            visibility = ["//visibility:public"],
+        )
+        """);
+    config.create("protobuf_workspace/bazel/BUILD");
+    config.create(
+        "protobuf_workspace/bazel/proto_library.bzl",
+        """
         def proto_library(**kargs):
-            native.proto_library(**_add_tags(kargs))
-
-        def proto_lang_toolchain(**kargs):
-            _proto_lang_toolchain(**_add_tags(kargs))
+            native.proto_library(**kargs)
         """);
     config.create(
-        "third_party/bazel_rules/rules_proto/proto/proto_toolchain.bzl",
+        "protobuf_workspace/bazel/toolchains/proto_toolchain.bzl",
         "load(':proto_toolchain_rule.bzl', _proto_toolchain_rule = 'proto_toolchain')",
         "def proto_toolchain(*, name, proto_compiler, exec_compatible_with = []):",
         "  _proto_toolchain_rule(name = name, proto_compiler = proto_compiler)",
@@ -396,8 +396,9 @@
         "    target_compatible_with = [],",
         "    toolchain = name,",
         "  )");
+    config.create("protobuf_workspace/bazel/toolchains/BUILD");
     config.create(
-        "third_party/bazel_rules/rules_proto/proto/proto_toolchain_rule.bzl",
+        "protobuf_workspace/bazel/toolchains/proto_toolchain_rule.bzl",
         """
 ProtoLangToolchainInfo = proto_common_do_not_use.ProtoLangToolchainInfo
 
@@ -419,7 +420,7 @@
                 mnemonic = ctx.attr.mnemonic,
                 allowlist_different_package = None,
                 toolchain_type =
-                    "//third_party/bazel_rules/rules_proto/proto:toolchain_type",
+                    "//protobuf/bazel/private:proto_toolchain_type",
             ),
         ),
     ]
@@ -446,7 +447,7 @@
 )
 """);
     config.create(
-        "third_party/bazel_rules/rules_proto/proto/proto_lang_toolchain.bzl",
+        "protobuf_workspace/bazel/toolchains/proto_lang_toolchain.bzl",
         """
         def proto_lang_toolchain(
                 *,
diff --git a/src/test/java/com/google/devtools/build/lib/testutil/TestConstants.java b/src/test/java/com/google/devtools/build/lib/testutil/TestConstants.java
index 9413b14..f00a6ce 100644
--- a/src/test/java/com/google/devtools/build/lib/testutil/TestConstants.java
+++ b/src/test/java/com/google/devtools/build/lib/testutil/TestConstants.java
@@ -24,12 +24,12 @@
 public class TestConstants {
 
   public static final String LOAD_PROTO_LIBRARY =
-      "load('@rules_proto//proto:defs.bzl', 'proto_library')";
-  public static final String PROTO_TOOLCHAIN =  "@rules_proto//proto:toolchain_type";
+      "load('@protobuf//bazel:proto_library.bzl', 'proto_library')";
+  public static final String PROTO_TOOLCHAIN = "@protobuf//bazel/private:proto_toolchain_type";
   public static final String LOAD_PROTO_TOOLCHAIN =
-      "load('@rules_proto//proto:proto_toolchain.bzl', 'proto_toolchain')";
+      "load('@protobuf//bazel/toolchains:proto_toolchain.bzl', 'proto_toolchain')";
   public static final String LOAD_PROTO_LANG_TOOLCHAIN =
-      "load('@rules_proto//proto:defs.bzl', 'proto_lang_toolchain')";
+      "load('@protobuf//bazel/toolchains:proto_lang_toolchain.bzl', 'proto_lang_toolchain')";
 
   private TestConstants() {
   }
diff --git a/src/test/shell/bazel/BUILD b/src/test/shell/bazel/BUILD
index 928d238..ffa4352 100644
--- a/src/test/shell/bazel/BUILD
+++ b/src/test/shell/bazel/BUILD
@@ -32,6 +32,7 @@
         ":test-deps-wo-bazel",
         "//src:bazel",
         "//src/test/shell:bin/bazel",
+        "//third_party/protobuf:remove_rules_rust.patch",
     ],
     visibility = [
         "//src/main/starlark/tests/builtins_bzl:__subpackages__",
diff --git a/src/test/shell/bazel/bazel_java17_test.sh b/src/test/shell/bazel/bazel_java17_test.sh
index c836759..3b104e9 100755
--- a/src/test/shell/bazel/bazel_java17_test.sh
+++ b/src/test/shell/bazel/bazel_java17_test.sh
@@ -61,6 +61,8 @@
 add_to_bazelrc "build --java_runtime_version=11"
 add_to_bazelrc "build --tool_java_runtime_version=11"
 
+add_protobuf "MODULE.bazel"
+
 # Java source files version shall match --java_language_version_flag version.
 function test_java17_text_block() {
   mkdir -p java/main
diff --git a/src/test/shell/bazel/bazel_java_tools_test.sh b/src/test/shell/bazel/bazel_java_tools_test.sh
index 22f3771..e64d0b6 100755
--- a/src/test/shell/bazel/bazel_java_tools_test.sh
+++ b/src/test/shell/bazel/bazel_java_tools_test.sh
@@ -82,6 +82,7 @@
   # Dependencies of java_tools
   add_platforms "MODULE.bazel"
   add_rules_cc "MODULE.bazel"
+  # TODO - ilist@: point java_tools to protobuf; requires coordinated release of rules_java and java_tools
   add_rules_proto "MODULE.bazel"
   add_rules_license "MODULE.bazel"
 }
diff --git a/src/test/shell/bazel/bazel_proto_library_test.sh b/src/test/shell/bazel/bazel_proto_library_test.sh
index 712a524..f8eef33 100755
--- a/src/test/shell/bazel/bazel_proto_library_test.sh
+++ b/src/test/shell/bazel/bazel_proto_library_test.sh
@@ -23,7 +23,7 @@
   || { echo "integration_test_setup.sh not found!" >&2; exit 1; }
 
 function set_up() {
-  add_rules_proto "MODULE.bazel"
+  add_protobuf "MODULE.bazel"
 }
 
 # Creates directories and files with the structure:
@@ -53,7 +53,7 @@
   extra_attribute=$2
   include_macro=$3
   if [ "${include_macro}" -eq "" ]; then
-    include_macro="load('@rules_proto//proto:defs.bzl', 'proto_library')"
+    include_macro="load('@protobuf//bazel:proto_library.bzl', 'proto_library')"
   fi
 
   cat > x/person/BUILD << EOF
@@ -134,7 +134,7 @@
   touch proto_library/BUILD
 
   cat > proto_library/src/BUILD << EOF
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 proto_library(
     name = "all",
     srcs = glob(["*.proto"]),
@@ -203,7 +203,7 @@
   touch a/b/BUILD
   cat > a/b/src/BUILD <<EOF
 package(default_visibility = ["//visibility:public"])
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 proto_library(
   name = "all_protos",
   srcs = glob(["*.proto"]),
@@ -243,7 +243,7 @@
 
   cat > c/d/src/BUILD <<EOF
 package(default_visibility = ["//visibility:public"])
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 proto_library(
   name = "all_protos",
   srcs = glob(["*.proto"]),
@@ -282,7 +282,7 @@
 EOF
 
   cat > macros/proto_library_macro.bzl << EOF
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 def proto_library_macro(name, srcs, deps = []):
   proto_library(
       name = name,
@@ -333,7 +333,6 @@
 ############# TESTS #############
 
 function test_legacy_proto_library_include_well_known_protos() {
-  add_protobuf "MODULE.bazel"
   mkdir -p a
   cat > a/BUILD <<EOF
 proto_library(
@@ -491,7 +490,7 @@
 function test_cc_proto_library() {
   mkdir -p a
   cat > a/BUILD <<EOF
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 proto_library(name='p', srcs=['p.proto'])
 cc_proto_library(name='cp', deps=[':p'])
 cc_library(name='c', srcs=['c.cc'], deps=[':cp'])
@@ -519,7 +518,7 @@
 function test_cc_proto_library_with_toolchain_resolution() {
   mkdir -p a
   cat > a/BUILD <<EOF
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 proto_library(name='p', srcs=['p.proto'])
 cc_proto_library(name='cp', deps=[':p'])
 cc_library(name='c', srcs=['c.cc'], deps=[':cp'])
@@ -547,7 +546,7 @@
 function test_cc_proto_library_import_prefix_stripping() {
   mkdir -p a/dir
   cat > a/BUILD <<EOF
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 proto_library(name='p', srcs=['dir/p.proto'], strip_import_prefix='/a')
 cc_proto_library(name='cp', deps=[':p'])
 cc_library(name='c', srcs=['c.cc'], deps=[':cp'])
@@ -586,7 +585,7 @@
 
   mkdir -p e/f/bad
   cat > e/f/BUILD <<EOF
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 proto_library(
   name = "f",
   strip_import_prefix = "bad",
@@ -607,7 +606,7 @@
 
   mkdir -p g/bad
   cat > g/BUILD << EOF
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 proto_library(
   name = 'g',
   strip_import_prefix = "/g/bad",
@@ -628,7 +627,7 @@
 
   mkdir -p h
   cat > h/BUILD <<EOF
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 proto_library(
   name = "h",
   srcs = ["h.proto"],
@@ -685,7 +684,7 @@
 
   mkdir -p e/f/good
   cat > e/f/BUILD <<EOF
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 proto_library(
   name = "f",
   srcs = ["good/f.proto"],
@@ -722,7 +721,7 @@
 
   mkdir -p g/good
   cat > g/BUILD << EOF
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 proto_library(
   name = 'g',
   srcs = ['good/g.proto'],
@@ -741,7 +740,7 @@
 
   mkdir -p h
   cat > h/BUILD <<EOF
-load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 proto_library(
   name = "h",
   srcs = ["h.proto"],
diff --git a/src/test/shell/testenv.sh b/src/test/shell/testenv.sh
index a534df5..6124053 100755
--- a/src/test/shell/testenv.sh
+++ b/src/test/shell/testenv.sh
@@ -583,6 +583,7 @@
   add_bazel_dep "rules_python" "$1"
 }
 
+# Needed only for java_tools
 function add_rules_proto() {
   add_bazel_dep "rules_proto" "$1"
 }
@@ -593,6 +594,22 @@
 
 function add_protobuf() {
   add_bazel_dep "protobuf" "$1"
+  mkdir -p third_party/protobuf
+  touch third_party/protobuf/BUILD
+  cp "$(rlocation io_bazel/third_party/protobuf/remove_rules_rust.patch)" third_party/protobuf/remove_rules_rust.patch
+  cat >> "$1" <<EOF
+archive_override(
+    module_name = "protobuf",
+    integrity = "sha256-zF1Z3SMnHqcP1QKIeAoGGZDEARNXRWRgZi70eKldVlc=",
+    patch_strip = 1,
+    # Temporarily patch out rules_rust stuff from protobuf. Not just because we don't need it,
+    # but also because it introduces huge dependency bloat: rules_rust -> aspect_rules_js ->
+    # aspect_rules_lint -> rules_buf.
+    patches = ["//third_party/protobuf:remove_rules_rust.patch"],
+    strip_prefix = "protobuf-3b62052186d39775090fb074adcba078ea622f54",
+    urls = ["https://github.com/protocolbuffers/protobuf/archive/3b62052186d39775090fb074adcba078ea622f54.zip"],
+)
+EOF
 }
 
 function add_rules_testing() {
diff --git a/third_party/remoteapis/BUILD.bazel b/third_party/remoteapis/BUILD.bazel
index 7f16719..412e888 100644
--- a/third_party/remoteapis/BUILD.bazel
+++ b/third_party/remoteapis/BUILD.bazel
@@ -1,7 +1,7 @@
 load("@io_bazel//third_party/grpc:build_defs.bzl", "java_grpc_library")
 load("@io_bazel//tools/build_rules:utilities.bzl", "java_library_srcs")
+load("@protobuf//bazel:proto_library.bzl", "proto_library")
 load("@rules_java//java:defs.bzl", "java_proto_library")
-load("@rules_proto//proto:defs.bzl", "proto_library")
 
 package(default_visibility = ["//visibility:public"])
 
@@ -44,10 +44,10 @@
     srcs = ["build/bazel/remote/asset/v1/remote_asset.proto"],
     deps = [
         ":build_bazel_remote_execution_v2_remote_execution_proto",
-        "@protobuf//:duration_proto",
-        "@protobuf//:timestamp_proto",
         "@googleapis//google/api:annotations_proto",
         "@googleapis//google/rpc:status_proto",
+        "@protobuf//:duration_proto",
+        "@protobuf//:timestamp_proto",
     ],
 )
 
@@ -56,14 +56,14 @@
     srcs = ["build/bazel/remote/execution/v2/remote_execution.proto"],
     deps = [
         ":build_bazel_semver_semver_proto",
-        "@protobuf//:any_proto",
-        "@protobuf//:duration_proto",
-        "@protobuf//:timestamp_proto",
-        "@protobuf//:wrappers_proto",
         "@googleapis//google/api:annotations_proto",
         "@googleapis//google/api:http_proto",
         "@googleapis//google/longrunning:operations_proto",
         "@googleapis//google/rpc:status_proto",
+        "@protobuf//:any_proto",
+        "@protobuf//:duration_proto",
+        "@protobuf//:timestamp_proto",
+        "@protobuf//:wrappers_proto",
     ],
 )
 
diff --git a/tools/distributions/debian/protobuf/BUILD b/tools/distributions/debian/protobuf/BUILD
index 07307ac..ca2e76a 100644
--- a/tools/distributions/debian/protobuf/BUILD
+++ b/tools/distributions/debian/protobuf/BUILD
@@ -1,4 +1,4 @@
-load("@rules_proto//proto:defs.bzl", "proto_lang_toolchain")
+load("@protobuf//bazel/toolchains:proto_lang_toolchain.bzl", "proto_lang_toolchain")
 
 package(default_visibility = ["//visibility:public"])
 
diff --git a/tools/j2objc/BUILD.tools b/tools/j2objc/BUILD.tools
index c9b7b65..b66c36d 100644
--- a/tools/j2objc/BUILD.tools
+++ b/tools/j2objc/BUILD.tools
@@ -1,5 +1,5 @@
 load("@rules_java//java:defs.bzl", "java_binary")
-load("@rules_proto//proto:defs.bzl", "proto_lang_toolchain")
+load("@protobuf//bazel/toolchains:proto_lang_toolchain.bzl", "proto_lang_toolchain")
 
 package(default_visibility = ["//visibility:public"])
 
diff --git a/tools/jdk/BUILD.java_tools b/tools/jdk/BUILD.java_tools
index aa6b15b..f48d69b 100644
--- a/tools/jdk/BUILD.java_tools
+++ b/tools/jdk/BUILD.java_tools
@@ -4,6 +4,7 @@
 
 licenses(["notice"])  # Apache 2.0
 
+# TODO - ilist@: point java_tools to protobuf; requires coordinated release of rules_java and java_tools
 load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_proto_library")
 load("@rules_proto//proto:defs.bzl", "proto_library")