Re-export bazel_java_proto_aspect and java_lite_proto_aspect in public bazel/ packages.

Re-exports the aspect symbols in `third_party/protobuf/bazel/` to allow Kotlin proto rules to depend directly on these aspects.

PiperOrigin-RevId: 963247862
diff --git a/bazel/java_lite_proto_library.bzl b/bazel/java_lite_proto_library.bzl
index 90ff08c..ac90ae7 100644
--- a/bazel/java_lite_proto_library.bzl
+++ b/bazel/java_lite_proto_library.bzl
@@ -7,6 +7,11 @@
 
 """java_lite_proto_library rule"""
 
-load("//bazel/private:java_lite_proto_library.bzl", _java_lite_proto_library = "java_lite_proto_library")
+load(
+    "//bazel/private:java_lite_proto_library.bzl",
+    _java_lite_proto_aspect = "java_lite_proto_aspect",
+    _java_lite_proto_library = "java_lite_proto_library",
+)
 
 java_lite_proto_library = _java_lite_proto_library
+java_lite_proto_aspect = _java_lite_proto_aspect
diff --git a/bazel/java_proto_library.bzl b/bazel/java_proto_library.bzl
index 8754a35..27b7dea 100644
--- a/bazel/java_proto_library.bzl
+++ b/bazel/java_proto_library.bzl
@@ -7,6 +7,11 @@
 
 """java_proto_library rule."""
 
-load("//bazel/private:java_proto_library.bzl", _java_proto_library = "java_proto_library")
+load(
+    "//bazel/private:java_proto_library.bzl",
+    _bazel_java_proto_aspect = "bazel_java_proto_aspect",
+    _java_proto_library = "java_proto_library",
+)
 
 java_proto_library = _java_proto_library
+bazel_java_proto_aspect = _bazel_java_proto_aspect
diff --git a/bazel/private/java_lite_proto_library.bzl b/bazel/private/java_lite_proto_library.bzl
index c6da048..f595baa 100644
--- a/bazel/private/java_lite_proto_library.bzl
+++ b/bazel/private/java_lite_proto_library.bzl
@@ -61,7 +61,7 @@
     transitive_jars = [dep[JavaProtoAspectInfo].jars for dep in ctx.rule.attr.deps]
 
     return [
-        java_info,
+        add_constraints(java_info, constraints = ["android"]),
         JavaProtoAspectInfo(jars = depset(jars, transitive = transitive_jars)),
     ]
 
diff --git a/java/kotlin/src/test/kotlin/com/google/protobuf/diamond/DiamondDependencyTest.kt b/java/kotlin/src/test/kotlin/com/google/protobuf/diamond/DiamondDependencyTest.kt
new file mode 100644
index 0000000..2b125e4
--- /dev/null
+++ b/java/kotlin/src/test/kotlin/com/google/protobuf/diamond/DiamondDependencyTest.kt
@@ -0,0 +1,26 @@
+package com.google.protobuf.kotlin.diamond
+
+import kotlin.test.assertEquals
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+
+/**
+ * Regression test for Bazel Java One-Version classpath collisions in Kotlin proto generation.
+ *
+ * Verifies that when a test depends simultaneously on a leaf Kotlin proto library
+ * (`:leaf_kt_proto`) and an exporter Kotlin proto library (`:exporter_kt_proto`, which re-exports
+ * `:leaf_proto`), the Kotlin proto code generation does not duplicate class definitions with
+ * differing Cyclic Redundancy Checks (CRCs) across multiple jars on the runtime classpath.
+ */
+@RunWith(JUnit4::class)
+class DiamondDependencyTest {
+  @Test
+  fun testDiamondDependencyClasspath() {
+    val leaf = leafMessage { value = "leaf" }
+    assertEquals("leaf", leaf.value)
+
+    val exporter = exporterMessage { value = "exporter" }
+    assertEquals("exporter", exporter.value)
+  }
+}
diff --git a/java/kotlin/src/test/proto/com/google/protobuf/diamond/exporter.proto b/java/kotlin/src/test/proto/com/google/protobuf/diamond/exporter.proto
new file mode 100644
index 0000000..d799892
--- /dev/null
+++ b/java/kotlin/src/test/proto/com/google/protobuf/diamond/exporter.proto
@@ -0,0 +1,9 @@
+edition = "2024";
+
+package protobuf.kotlin.test.diamond;
+
+option java_package = "com.google.protobuf.kotlin.diamond";
+
+message ExporterMessage {
+  string value = 1;
+}
diff --git a/java/kotlin/src/test/proto/com/google/protobuf/diamond/leaf.proto b/java/kotlin/src/test/proto/com/google/protobuf/diamond/leaf.proto
new file mode 100644
index 0000000..9da1515
--- /dev/null
+++ b/java/kotlin/src/test/proto/com/google/protobuf/diamond/leaf.proto
@@ -0,0 +1,9 @@
+edition = "2024";
+
+package protobuf.kotlin.test.diamond;
+
+option java_package = "com.google.protobuf.kotlin.diamond";
+
+message LeafMessage {
+  string value = 1;
+}