diff --git a/android/bazel.go b/android/bazel.go index 9f38c3b63..1f6b33e35 100644 --- a/android/bazel.go +++ b/android/bazel.go @@ -281,6 +281,7 @@ var ( "development/samples/USB/MissileLauncher": Bp2BuildDefaultTrue, "development/samples/VoiceRecognitionService": Bp2BuildDefaultTrue, "development/samples/VoicemailProviderDemo": Bp2BuildDefaultTrue, + "development/samples/WiFiDirectDemo": Bp2BuildDefaultTrue, "development/sdk": Bp2BuildDefaultTrueRecursively, "external/arm-optimized-routines": Bp2BuildDefaultTrueRecursively, "external/boringssl": Bp2BuildDefaultTrueRecursively, diff --git a/bp2build/android_app_conversion_test.go b/bp2build/android_app_conversion_test.go index 153817b08..28de06c00 100644 --- a/bp2build/android_app_conversion_test.go +++ b/bp2build/android_app_conversion_test.go @@ -66,7 +66,7 @@ func TestAndroidAppAllSupportedFields(t *testing.T) { "resb/res.png": "", "manifest/AndroidManifest.xml": "", }, - blueprint: ` + blueprint: simpleModuleDoNotConvertBp2build("android_app", "static_lib_dep") + ` android_app { name: "TestApp", srcs: ["app.java"], @@ -74,6 +74,7 @@ android_app { package_name: "com.google", resource_dirs: ["resa", "resb"], manifest: "manifest/AndroidManifest.xml", + static_libs: ["static_lib_dep"] } `, expectedBazelTargets: []string{ @@ -85,6 +86,7 @@ android_app { "resb/res.png", ]`, "custom_package": `"com.google"`, + "deps": `[":static_lib_dep"]`, }), }}) } diff --git a/java/app.go b/java/app.go index f57459902..7ae73f797 100755 --- a/java/app.go +++ b/java/app.go @@ -1436,6 +1436,7 @@ type bazelAndroidAppAttributes struct { Manifest bazel.Label Custom_package *string Resource_files bazel.LabelListAttribute + Deps bazel.LabelListAttribute } // ConvertWithBp2build is used to convert android_app to Bazel. @@ -1453,12 +1454,15 @@ func (a *AndroidApp) ConvertWithBp2build(ctx android.TopDownMutatorContext) { resourceFiles.Includes = append(resourceFiles.Includes, files...) } + deps := bazel.MakeLabelListAttribute(android.BazelLabelForModuleDeps(ctx, a.properties.Static_libs)) + attrs := &bazelAndroidAppAttributes{ Srcs: srcs, Manifest: android.BazelLabelForModuleSrcSingle(ctx, manifest), // TODO(b/209576404): handle package name override by product variable PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES Custom_package: a.overridableAppProperties.Package_name, Resource_files: bazel.MakeLabelListAttribute(resourceFiles), + Deps: deps, } props := bazel.BazelTargetModuleProperties{Rule_class: "android_binary", Bzl_load_location: "@rules_android//rules:rules.bzl"}