diff --git a/android/allowlists/allowlists.go b/android/allowlists/allowlists.go index f854d8d8f..849c823ac 100644 --- a/android/allowlists/allowlists.go +++ b/android/allowlists/allowlists.go @@ -178,6 +178,7 @@ var ( "external/libjpeg-turbo": Bp2BuildDefaultTrueRecursively, "external/libmpeg2": Bp2BuildDefaultTrueRecursively, "external/libpng": Bp2BuildDefaultTrueRecursively, + "external/libphonenumber": Bp2BuildDefaultTrueRecursively, "external/libvpx": Bp2BuildDefaultTrueRecursively, "external/libyuv": Bp2BuildDefaultTrueRecursively, "external/lz4/lib": Bp2BuildDefaultTrue, @@ -1048,6 +1049,7 @@ var ( "libgmock_ndk", // depends on unconverted modules: libgtest_ndk_c++ "libnativehelper_lazy_mts_jni", "libnativehelper_mts_jni", // depends on unconverted modules: libnativetesthelper_jni, libgmock_ndk "libnativetesthelper_jni", // depends on unconverted modules: libgtest_ndk_c++ + "libphonenumber_test", // depends on android.test.mock "libstatslog", // depends on unconverted modules: libstatspull, statsd-aidl-ndk "libstatslog_art", // depends on unconverted modules: statslog_art.cpp, statslog_art.h "linker_reloc_bench_main", // depends on unconverted modules: liblinker_reloc_bench_* diff --git a/bp2build/java_library_conversion_test.go b/bp2build/java_library_conversion_test.go index 7429ae6df..512c1e102 100644 --- a/bp2build/java_library_conversion_test.go +++ b/bp2build/java_library_conversion_test.go @@ -441,12 +441,13 @@ func TestJavaLibraryResourcesExcludeFile(t *testing.T) { func TestJavaLibraryResourcesWithMultipleDirs(t *testing.T) { runJavaLibraryTestCase(t, Bp2buildTestCase{ Filesystem: map[string]string{ - "res/a.res": "", - "res1/b.res": "", + "res/a.res": "", + "res1/b.res": "", + "res2/b.java": "", }, Blueprint: `java_library { name: "java-lib-1", - java_resource_dirs: ["res", "res1"], + java_resource_dirs: ["res", "res1", "res2"], sdk_version: "current", }`, ExpectedBazelTargets: []string{ @@ -1046,3 +1047,14 @@ filegroup { ctx.RegisterModuleType("filegroup", android.FileGroupFactory) }) } + +func TestJavaSdkVersionCorePlatformDoesNotConvert(t *testing.T) { + runJavaLibraryTestCase(t, Bp2buildTestCase{ + Blueprint: `java_library { + name: "java-lib-1", + sdk_version: "core_platform", + bazel_module: { bp2build_available: true }, +}`, + ExpectedBazelTargets: []string{}, + }) +} diff --git a/java/java.go b/java/java.go index 521aef301..99bb1b3ee 100644 --- a/java/java.go +++ b/java/java.go @@ -2826,7 +2826,7 @@ func (m *Library) convertJavaResourcesAttributes(ctx android.TopDownMutatorConte if resourceStripPrefix == nil && i == 0 { resourceStripPrefix = resAttr.Resource_strip_prefix resources = resAttr.Resources.Value - } else { + } else if !resAttr.Resources.IsEmpty() { ctx.CreateBazelTargetModule( bazel.BazelTargetModuleProperties{ Rule_class: "java_resources", @@ -2904,8 +2904,13 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.TopDownMutatorContext) var staticDeps bazel.LabelListAttribute if proptools.String(m.deviceProperties.Sdk_version) == "" && m.DeviceSupported() { + // TODO(b/297356704): handle platform apis in bp2build ctx.MarkBp2buildUnconvertible(bp2build_metrics_proto.UnconvertedReasonType_PROPERTY_UNSUPPORTED, "sdk_version unset") return &javaCommonAttributes{}, &bp2BuildJavaInfo{}, false + } else if proptools.String(m.deviceProperties.Sdk_version) == "core_platform" { + // TODO(b/297356582): handle core_platform in bp2build + ctx.MarkBp2buildUnconvertible(bp2build_metrics_proto.UnconvertedReasonType_PROPERTY_UNSUPPORTED, "sdk_version core_platform") + return &javaCommonAttributes{}, &bp2BuildJavaInfo{}, false } archVariantProps := m.GetArchVariantProperties(ctx, &CommonProperties{})