Skip to content

Commit

Permalink
Use attained composability of java_library and java_plugin rule's to …
Browse files Browse the repository at this point in the history
…handle implementation differences.

No-op semantics calls are removed.

PiperOrigin-RevId: 424365686
  • Loading branch information
comius authored and Copybara-Service committed Jan 26, 2022
1 parent b63a19d commit c17f1b7
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 72 deletions.
8 changes: 7 additions & 1 deletion src/main/starlark/builtins_bzl/bazel/exports.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -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 = {}
4 changes: 0 additions & 4 deletions src/main/starlark/builtins_bzl/common/exports.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand All @@ -36,8 +34,6 @@ exported_toplevels = {
}
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,
Expand Down
17 changes: 5 additions & 12 deletions src/main/starlark/builtins_bzl/common/java/java_library.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ JavaInfo = _builtins.toplevel.JavaInfo
JavaPluginInfo = _builtins.toplevel.JavaPluginInfo
CcInfo = _builtins.toplevel.CcInfo

def java_library_rule(
def bazel_java_library_rule(
ctx,
srcs = [],
deps = [],
Expand Down Expand Up @@ -62,15 +62,10 @@ def java_library_rule(
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,
Expand All @@ -88,8 +83,6 @@ def java_library_rule(
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,
Expand All @@ -101,13 +94,13 @@ def java_library_rule(

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,
Expand All @@ -129,7 +122,7 @@ java_library = create_rule(
},
**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",
Expand Down
27 changes: 0 additions & 27 deletions src/main/starlark/builtins_bzl/common/java/java_library_macro.bzl

This file was deleted.

13 changes: 4 additions & 9 deletions src/main/starlark/builtins_bzl/common/java/java_plugin.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ load(":common/java/proguard_validation.bzl", "VALIDATE_PROGUARD_SPECS")

JavaPluginInfo = _builtins.toplevel.JavaPluginInfo

def java_plugin_rule(
def bazel_java_plugin_rule(
ctx,
srcs = [],
data = [],
Expand Down Expand Up @@ -57,15 +57,10 @@ def java_plugin_rule(
(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,
Expand Down Expand Up @@ -100,7 +95,7 @@ def java_plugin_rule(
}, **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,
Expand Down Expand Up @@ -128,7 +123,7 @@ java_plugin = create_rule(
deps = [
JAVA_COMMON_DEP,
VALIDATE_PROGUARD_SPECS,
] + semantics.EXTRA_PLUGIN_DEPS,
],
provides = [JavaPluginInfo],
outputs = {
"classjar": "lib%{name}.jar",
Expand Down
19 changes: 0 additions & 19 deletions src/main/starlark/builtins_bzl/common/java/java_semantics.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,6 @@ java_common = _builtins.toplevel.java_common
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

Expand Down Expand Up @@ -62,8 +50,6 @@ semantics = struct(
EXTRA_PLUGIN_ATTRIBUTES = {
"resource_strip_prefix": attr.string(),
},
EXTRA_DEPS = [],
EXTRA_PLUGIN_DEPS = [],
ALLOWED_RULES_IN_DEPS = [
"cc_binary", # NB: linkshared=1
"cc_library",
Expand All @@ -79,11 +65,6 @@ semantics = struct(
],
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,
Expand Down

0 comments on commit c17f1b7

Please sign in to comment.