diff --git a/.bazelrc b/.bazelrc index dfdb48e0f75..16a320499df 100644 --- a/.bazelrc +++ b/.bazelrc @@ -6,4 +6,7 @@ build --deleted_packages=//aspect/testing/tests/src/com/google/idea/blaze/aspect query --deleted_packages=//aspect/testing/tests/src/com/google/idea/blaze/aspect/integration/testdata # TODO: migrate all dependencies from WORKSPACE to MODULE.bazel -common --noenable_bzlmod \ No newline at end of file +common --noenable_bzlmod + +build --experimental_google_legacy_api +test --experimental_google_legacy_api \ No newline at end of file diff --git a/aspect/fast_build_info.bzl b/aspect/fast_build_info.bzl index 483558a3702..c2c19ab6341 100644 --- a/aspect/fast_build_info.bzl +++ b/aspect/fast_build_info.bzl @@ -87,11 +87,11 @@ def _fast_build_info_impl(target, ctx): for t in annotation_processing.processor_classpath.to_list() ] info["java_info"] = struct_omit_none(**java_info) - if hasattr(target, "android"): + if AndroidIdeInfo in target: write_output = True android_info = struct_omit_none( - aar = artifact_location(target.android.aar), - merged_manifest = artifact_location(target.android.merged_manifest), + aar = artifact_location(target[AndroidIdeInfo].aar), + merged_manifest = artifact_location(target[AndroidIdeInfo].generated_manifest), ) info["android_info"] = android_info diff --git a/aspect/intellij_info_impl.bzl b/aspect/intellij_info_impl.bzl index f5c5f003769..ef1bd1ea0ea 100644 --- a/aspect/intellij_info_impl.bzl +++ b/aspect/intellij_info_impl.bzl @@ -804,16 +804,23 @@ def collect_android_info(target, ctx, semantics, ide_info, ide_info_file, output def _collect_android_ide_info(target, ctx, semantics, ide_info, ide_info_file, output_groups): """Updates ide_info proto with android_ide_info, and intellij_resolve_android with android resolve files. Returns false if target doesn't contain android attribute.""" - if not hasattr(target, "android"): + if not AndroidIdeInfo in target: return False android_semantics = semantics.android if hasattr(semantics, "android") else None extra_ide_info = android_semantics.extra_ide_info(target, ctx) if android_semantics else {} - android = target.android + android = target[AndroidIdeInfo] + + output_jar = struct( + class_jar = android.idl_class_jar, + ijar = None, + source_jar = android.idl_source_jar, + ) if android.idl_class_jar else None + resources = [] res_folders = [] - resolve_files = jars_from_output(android.idl.output) + resolve_files = jars_from_output(output_jar) if hasattr(ctx.rule.attr, "resource_files"): for artifact_path_fragments, res_files in get_res_artifacts(ctx.rule.attr.resource_files).items(): # Generate unique ArtifactLocation for resource directories. @@ -863,14 +870,14 @@ def _collect_android_ide_info(target, ctx, semantics, ide_info, ide_info_file, o android_info = struct_omit_none( java_package = android.java_package, - idl_import_root = android.idl.import_root if hasattr(android.idl, "import_root") else None, + idl_import_root = android.idl_import_root if hasattr(android, "idl_import_root") else None, manifest = artifact_location(android.manifest), manifest_values = [struct_omit_none(key = key, value = value) for key, value in ctx.rule.attr.manifest_values.items()] if hasattr(ctx.rule.attr, "manifest_values") else None, - apk = artifact_location(android.apk), + apk = artifact_location(android.signed_apk), dependency_apk = [artifact_location(apk) for apk in android.apks_under_test], - has_idl_sources = android.idl.output != None, - idl_jar = library_artifact(android.idl.output), - generate_resource_class = android.defines_resources, + has_idl_sources = android.idl_class_jar != None, + idl_jar = library_artifact(output_jar), + generate_resource_class = android.defines_android_resources, resources = resources, res_folders = res_folders, resource_jar = library_artifact(android.resource_jar), diff --git a/base/src/com/google/idea/blaze/base/command/BuildFlagsProviderImpl.java b/base/src/com/google/idea/blaze/base/command/BuildFlagsProviderImpl.java index 92f2946af77..f8f92c24fce 100644 --- a/base/src/com/google/idea/blaze/base/command/BuildFlagsProviderImpl.java +++ b/base/src/com/google/idea/blaze/base/command/BuildFlagsProviderImpl.java @@ -32,5 +32,6 @@ public void addBuildFlags( flags.add("--curses=no"); flags.add("--color=yes"); flags.add("--progress_in_terminal_title=no"); + flags.add("--experimental_google_legacy_api"); } }