Skip to content

Remove references to java_common from aspects #7615

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 25, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions aspect/fast_build_info.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ load(
":intellij_info_impl.bzl",
"stringify_label",
)
load(":java_info.bzl", "get_java_info")
load(":java_info.bzl", "get_java_info", "get_provider_from_target")

_DEP_ATTRS = ["deps", "exports", "runtime_deps", "_java_toolchain"]

Expand Down Expand Up @@ -48,11 +48,8 @@ def _fast_build_info_impl(target, ctx):

if hasattr(target, "java_toolchain"):
toolchain = target.java_toolchain
elif java_common.JavaToolchainInfo != platform_common.ToolchainInfo and \
java_common.JavaToolchainInfo in target:
toolchain = target[java_common.JavaToolchainInfo]
else:
toolchain = None
toolchain = get_provider_from_target("JavaToolchainInfo", target)
if toolchain:
write_output = True
javac_jars = []
Expand Down
13 changes: 5 additions & 8 deletions aspect/intellij_info_impl.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ load(
)
load(":code_generator_info.bzl", "CODE_GENERATOR_RULE_NAMES")
load(":flag_hack.bzl", "FlagHackInfo")
load(":java_info.bzl", "get_java_info", "java_info_in_target", "java_info_reference")
load(":java_info.bzl", "get_java_info", "java_info_in_target", "java_info_reference", "get_provider_from_target")
load(
":make_variables.bzl",
"expand_make_variables",
Expand Down Expand Up @@ -100,7 +100,7 @@ def run_jar(ctx, jar, **kwargs):
file should be a self contained _deploy jar.
"""

host_java = ctx.attr._java_runtime[java_common.JavaRuntimeInfo]
host_java = get_provider_from_target("JavaRuntimeInfo", ctx.attr._java_runtime)

return ctx.actions.run_shell(
tools = depset([jar], transitive = [host_java.files]),
Expand Down Expand Up @@ -674,9 +674,7 @@ def get_java_provider(target):
java_info = get_java_info(target)
if java_info:
return java_info
if hasattr(java_common, "JavaPluginInfo") and java_common.JavaPluginInfo in target:
return target[java_common.JavaPluginInfo]
return None
return get_provider_from_target("JavaPluginInfo", target)

def _collect_generated_files(java):
"""Collects generated files from a Java target"""
Expand Down Expand Up @@ -1107,10 +1105,9 @@ def collect_java_toolchain_info(target, ide_info, ide_info_file, output_groups):
"""Updates java_toolchain-relevant output groups, returns false if not a java_toolchain target."""
if hasattr(target, "java_toolchain"):
toolchain = target.java_toolchain
elif java_common.JavaToolchainInfo != platform_common.ToolchainInfo and \
java_common.JavaToolchainInfo in target:
toolchain = target[java_common.JavaToolchainInfo]
else:
toolchain = get_provider_from_target("JavaToolchainInfo", target)
if not toolchain:
return False
javac_jars = []
if hasattr(toolchain, "tools"):
Expand Down
17 changes: 17 additions & 0 deletions aspect/java_info.bzl
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# TEMPLATE-INCLUDE-BEGIN
###if( $isJavaEnabled == "true" && $bazel8OrAbove == "true" )
##load("@rules_java//java/common:java_info.bzl", "JavaInfo")
##load("@rules_java//java/common:java_common.bzl", "java_common")
###end
# TEMPLATE-INCLUDE-END

Expand Down Expand Up @@ -48,3 +49,19 @@ def java_info_reference():
## return []
## #end
# TEMPLATE-INCLUDE-END


def get_provider_from_target(provider_name, target):
# TEMPLATE-IGNORE-BEGIN
provider = getattr(java_common, provider_name, None)
return target[provider] if provider and provider in target else None
# TEMPLATE-IGNORE-END

# TEMPLATE-INCLUDE-BEGIN
## #if( $isJavaEnabled == "true" )
## provider = getattr(java_common, provider_name, None)
## return target[provider] if provider and provider in target else None
## #else
## return None
## #end
# TEMPLATE-INCLUDE-END