Use attained composability of java_library and java_plugin rule's to handle implementation differences.

No-op semantics calls are removed.

PiperOrigin-RevId: 424365686
diff --git a/src/main/starlark/builtins_bzl/bazel/exports.bzl b/src/main/starlark/builtins_bzl/bazel/exports.bzl
index 3d5df8f..88553bb 100644
--- a/src/main/starlark/builtins_bzl/bazel/exports.bzl
+++ b/src/main/starlark/builtins_bzl/bazel/exports.bzl
@@ -14,6 +14,12 @@
 
 """Exported builtins symbols that are specific to OSS Bazel."""
 
+load("@_builtins//:common/java/java_library.bzl", "java_library")
+load("@_builtins//:common/java/java_plugin.bzl", "java_plugin")
+
 exported_toplevels = {}
-exported_rules = {}
+exported_rules = {
+    "+java_library": java_library,
+    "+java_plugin": java_plugin,
+}
 exported_to_java = {}
diff --git a/src/main/starlark/builtins_bzl/common/exports.bzl b/src/main/starlark/builtins_bzl/common/exports.bzl
index 19d4a24..71d93c0 100644
--- a/src/main/starlark/builtins_bzl/common/exports.bzl
+++ b/src/main/starlark/builtins_bzl/common/exports.bzl
@@ -17,8 +17,6 @@
 load("@_builtins//:common/cc/cc_import.bzl", "cc_import")
 load("@_builtins//:common/cc/cc_binary.bzl", "cc_binary")
 load("@_builtins//:common/cc/cc_test.bzl", "cc_test")
-load("@_builtins//:common/java/java_library_macro.bzl", "java_library")
-load("@_builtins//:common/java/java_plugin.bzl", "java_plugin")
 load("@_builtins//:common/cc/experimental_cc_shared_library.bzl", "cc_shared_library", "cc_shared_library_permissions")
 load("@_builtins//:common/objc/objc_import.bzl", "objc_import")
 load("@_builtins//:common/objc/objc_library.bzl", "objc_library")
@@ -36,8 +34,6 @@
 }
 exported_rules = {
     "+cc_import": cc_import,
-    "+java_library": java_library,
-    "+java_plugin": java_plugin,
     "-java_lite_proto_library": java_lite_proto_library,
     "objc_import": objc_import,
     "objc_library": objc_library,
diff --git a/src/main/starlark/builtins_bzl/common/java/java_library.bzl b/src/main/starlark/builtins_bzl/common/java/java_library.bzl
index ec538a0..fc9a223 100644
--- a/src/main/starlark/builtins_bzl/common/java/java_library.bzl
+++ b/src/main/starlark/builtins_bzl/common/java/java_library.bzl
@@ -25,7 +25,7 @@
 JavaPluginInfo = _builtins.toplevel.JavaPluginInfo
 CcInfo = _builtins.toplevel.CcInfo
 
-def java_library_rule(
+def bazel_java_library_rule(
         ctx,
         srcs = [],
         deps = [],
@@ -62,15 +62,10 @@
     if not srcs and deps:
         fail("deps not allowed without srcs; move to runtime_deps?")
 
-    semantics.check_rule(ctx)
-    semantics.check_dependency_rule_kinds(ctx, "java_library")
-
-    extra_resources = semantics.preprocess(ctx)
-
     base_info = JAVA_COMMON_DEP.call(
         ctx,
         srcs = srcs,
-        resources = resources + extra_resources,
+        resources = resources,
         plugins = plugins,
         deps = deps,
         runtime_deps = runtime_deps,
@@ -88,8 +83,6 @@
     base_info.output_groups["_hidden_top_level_INTERNAL_"] = proguard_specs_provider.specs
     base_info.extra_providers["ProguardSpecProvider"] = proguard_specs_provider
 
-    java_info = semantics.postprocess(ctx, base_info)
-
     default_info = construct_defaultinfo(
         ctx,
         base_info.files_to_build,
@@ -101,13 +94,13 @@
 
     return dict({
         "DefaultInfo": default_info,
-        "JavaInfo": java_info,
+        "JavaInfo": base_info.java_info,
         "InstrumentedFilesInfo": base_info.instrumented_files_info,
         "OutputGroupInfo": OutputGroupInfo(**base_info.output_groups),
     }, **base_info.extra_providers)
 
 def _proxy(ctx):
-    return java_library_rule(
+    return bazel_java_library_rule(
         ctx,
         srcs = ctx.files.srcs,
         deps = ctx.attr.deps,
@@ -129,7 +122,7 @@
         },
         **semantics.EXTRA_ATTRIBUTES
     ),
-    deps = [JAVA_COMMON_DEP, VALIDATE_PROGUARD_SPECS] + semantics.EXTRA_DEPS,
+    deps = [JAVA_COMMON_DEP, VALIDATE_PROGUARD_SPECS],
     provides = [JavaInfo],
     outputs = {
         "classjar": "lib%{name}.jar",
diff --git a/src/main/starlark/builtins_bzl/common/java/java_library_macro.bzl b/src/main/starlark/builtins_bzl/common/java/java_library_macro.bzl
deleted file mode 100644
index 0251848..0000000
--- a/src/main/starlark/builtins_bzl/common/java/java_library_macro.bzl
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2021 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""
-Definition of java_library macro (handles implicit outputs).
-"""
-
-load(":common/java/java_semantics.bzl", "semantics")
-load(":common/java/java_library.bzl", _java_library = "java_library")
-
-filegroup = _builtins.toplevel.native.filegroup
-
-def java_library(name, **kwargs):
-    semantics.macro_preprocess(kwargs)
-
-    _java_library(name = name, **kwargs)
diff --git a/src/main/starlark/builtins_bzl/common/java/java_plugin.bzl b/src/main/starlark/builtins_bzl/common/java/java_plugin.bzl
index 71b45a3..fb76975 100644
--- a/src/main/starlark/builtins_bzl/common/java/java_plugin.bzl
+++ b/src/main/starlark/builtins_bzl/common/java/java_plugin.bzl
@@ -23,7 +23,7 @@
 
 JavaPluginInfo = _builtins.toplevel.JavaPluginInfo
 
-def java_plugin_rule(
+def bazel_java_plugin_rule(
         ctx,
         srcs = [],
         data = [],
@@ -57,15 +57,10 @@
       (list[provider]) A list containing DefaultInfo, JavaInfo,
         InstrumentedFilesInfo, OutputGroupsInfo, ProguardSpecProvider providers.
     """
-    semantics.check_rule(ctx)
-    semantics.check_dependency_rule_kinds(ctx, "java_plugin")
-
-    extra_resources = semantics.preprocess(ctx)
-
     base_info = JAVA_COMMON_DEP.call(
         ctx,
         srcs = srcs,
-        resources = resources + extra_resources,
+        resources = resources,
         plugins = plugins,
         deps = deps,
         javacopts = javacopts,
@@ -100,7 +95,7 @@
     }, **base_info.extra_providers)
 
 def _proxy(ctx):
-    return java_plugin_rule(
+    return bazel_java_plugin_rule(
         ctx,
         srcs = ctx.files.srcs,
         data = ctx.files.data,
@@ -128,7 +123,7 @@
     deps = [
         JAVA_COMMON_DEP,
         VALIDATE_PROGUARD_SPECS,
-    ] + semantics.EXTRA_PLUGIN_DEPS,
+    ],
     provides = [JavaPluginInfo],
     outputs = {
         "classjar": "lib%{name}.jar",
diff --git a/src/main/starlark/builtins_bzl/common/java/java_semantics.bzl b/src/main/starlark/builtins_bzl/common/java/java_semantics.bzl
index f93ca7d..108f6b7 100644
--- a/src/main/starlark/builtins_bzl/common/java/java_semantics.bzl
+++ b/src/main/starlark/builtins_bzl/common/java/java_semantics.bzl
@@ -20,18 +20,6 @@
 JavaPluginInfo = _builtins.toplevel.JavaPluginInfo
 JavaInfo = _builtins.toplevel.JavaInfo
 
-def _macro_preprocess(kwargs):
-    pass
-
-def _check_rule(ctx):
-    pass
-
-def _check_dependency_rule_kinds(ctx, rule_class = ""):
-    pass
-
-def _preprocess(ctx):
-    return []
-
 def _postprocess(ctx, base_info):
     return base_info.java_info
 
@@ -62,8 +50,6 @@
     EXTRA_PLUGIN_ATTRIBUTES = {
         "resource_strip_prefix": attr.string(),
     },
-    EXTRA_DEPS = [],
-    EXTRA_PLUGIN_DEPS = [],
     ALLOWED_RULES_IN_DEPS = [
         "cc_binary",  # NB: linkshared=1
         "cc_library",
@@ -79,11 +65,6 @@
     ],
     ALLOWED_RULES_IN_DEPS_WITH_WARNING = [],
     LINT_PROGRESS_MESSAGE = "Running Android Lint for: %{label}",
-    macro_preprocess = _macro_preprocess,
-    check_rule = _check_rule,
-    check_dependency_rule_kinds = _check_dependency_rule_kinds,
-    preprocess = _preprocess,
-    postprocess = _postprocess,
     postprocess_plugin = _postprocess_plugin,
     check_proto_registry_collision = _check_proto_registry_collision,
     get_coverage_runner = _get_coverage_runner,