Skip to content

Commit

Permalink
Internal change.
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 675287467
  • Loading branch information
ahumesky authored and copybara-github committed Sep 17, 2024
1 parent 3b700ea commit 130cdc0
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 24 deletions.
13 changes: 8 additions & 5 deletions aspect/fast_build_info.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@ load(

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

def _get_android_ide_info(target):
if hasattr(android_common, "AndroidIdeInfo") and android_common.AndroidIdeInfo in target:
return target[android_common.AndroidIdeInfo]
if hasattr(target, "android"):
return target.android
return None

def _fast_build_info_impl(target, ctx):
dep_targets = _get_all_dep_targets(target, ctx)
dep_outputs = _get_all_dep_outputs(dep_targets)
Expand Down Expand Up @@ -89,11 +96,7 @@ def _fast_build_info_impl(target, ctx):
]
info["java_info"] = struct_omit_none(**java_info)

android_ide_info = None
if hasattr(android_common, "AndroidIdeInfo") and android_common.AndroidIdeInfo in target:
android_ide_info = target[android_common.AndroidIdeInfo]
if hasattr(target, "android"):
android_ide_info = target.android
android_ide_info = _get_android_ide_info(target)
if android_ide_info:
write_output = True
android_info = struct_omit_none(
Expand Down
42 changes: 23 additions & 19 deletions aspect/intellij_info_impl.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -811,6 +811,28 @@ def collect_android_info(target, ctx, semantics, ide_info, ide_info_file, output
update_sync_output_groups(output_groups, "intellij-info-android", depset([ide_info_file]))
return handled

def _get_android_ide_info(target):
"""Returns the AndroidIdeInfo provider for the given target."""

if hasattr(android_common, "AndroidIdeInfo"):
return target[android_common.AndroidIdeInfo]

# Backwards compatibility: supports android struct provider
legacy_android = getattr(target, "android")

# Transform into AndroidIdeInfo form
return struct(
java_package = legacy_android.java_package,
manifest = legacy_android.manifest,
idl_source_jar = getattr(legacy_android.idl.output, "source_jar", None),
idl_class_jar = getattr(legacy_android.idl.output, "class_jar", None),
defines_android_resources = legacy_android.defines_resources,
idl_import_root = getattr(legacy_android.idl, "import_root", None),
resource_jar = legacy_android.resource_jar,
signed_apk = legacy_android.apk,
apks_under_test = legacy_android.apks_under_test,
)

def _collect_android_ide_info(target, ctx, semantics, ide_info, ide_info_file, output_groups):
"""Populates ide_info proto and intellij_resolve_android output group
Expand All @@ -825,25 +847,7 @@ def _collect_android_ide_info(target, ctx, semantics, ide_info, ide_info_file, o
android_semantics = semantics.android if hasattr(semantics, "android") else None
extra_ide_info = android_semantics.extra_ide_info(target, ctx) if android_semantics else {}

if hasattr(android_common, "AndroidIdeInfo"):
android = target[android_common.AndroidIdeInfo]

else:
# Backwards compatibility: supports android struct provider
legacy_android = getattr(target, "android")

# Transform into AndroidIdeInfo form
android = struct(
java_package = legacy_android.java_package,
manifest = legacy_android.manifest,
idl_source_jar = getattr(legacy_android.idl.output, "source_jar", None),
idl_class_jar = getattr(legacy_android.idl.output, "class_jar", None),
defines_android_resources = legacy_android.defines_resources,
idl_import_root = getattr(legacy_android.idl, "import_root", None),
resource_jar = legacy_android.resource_jar,
signed_apk = legacy_android.apk,
apks_under_test = legacy_android.apks_under_test,
)
android = _get_android_ide_info(target)

output_jar = struct(
class_jar = android.idl_class_jar,
Expand Down

0 comments on commit 130cdc0

Please sign in to comment.