From 881d72022af2b5b6f80148129ff078632baa46b5 Mon Sep 17 00:00:00 2001 From: Sam Delmerico Date: Wed, 23 Feb 2022 15:18:56 +0000 Subject: [PATCH] bp2build java_libraries depend on Android SDK Soong adds an implicit dependency on the Android SDK for all java_libraries (and related modules). This feature becomes apparent after converting arch-variant srcs for android_apps, so we should suport this for now. Eventually, we will want to replace this forced dependency with a Bazel toolchain workaround. Test: build/bazel/ci/bp2build.sh Change-Id: Ic28e8c7690f69294b4bdcb9bb78a6f1f031fe97e --- bp2build/android_app_conversion_test.go | 6 +++++- java/java.go | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/bp2build/android_app_conversion_test.go b/bp2build/android_app_conversion_test.go index 28de06c00..42c1a5458 100644 --- a/bp2build/android_app_conversion_test.go +++ b/bp2build/android_app_conversion_test.go @@ -51,6 +51,7 @@ android_app { "srcs": `["app.java"]`, "manifest": `"AndroidManifest.xml"`, "resource_files": `["res/res.png"]`, + "deps": `["//prebuilts/sdk:public_current_android_sdk_java_import"]`, }), }}) } @@ -86,7 +87,10 @@ android_app { "resb/res.png", ]`, "custom_package": `"com.google"`, - "deps": `[":static_lib_dep"]`, + "deps": `[ + "//prebuilts/sdk:public_current_android_sdk_java_import", + ":static_lib_dep", + ]`, }), }}) } diff --git a/java/java.go b/java/java.go index d0f0abc7a..0a35908dd 100644 --- a/java/java.go +++ b/java/java.go @@ -2030,6 +2030,11 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.TopDownMutatorContext) } var deps bazel.LabelList + sdkVersion := m.SdkVersion(ctx) + if sdkVersion.Kind == android.SdkPublic && sdkVersion.ApiLevel == android.FutureApiLevel { + // TODO(b/220869005) remove forced dependency on current public android.jar + deps.Add(&bazel.Label{Label: "//prebuilts/sdk:public_current_android_sdk_java_import"}) + } if m.properties.Libs != nil { deps.Append(android.BazelLabelForModuleDeps(ctx, m.properties.Libs)) }