diff --git a/bp2build/java_library_conversion_test.go b/bp2build/java_library_conversion_test.go index 0784f4b97..f1d6398e0 100644 --- a/bp2build/java_library_conversion_test.go +++ b/bp2build/java_library_conversion_test.go @@ -755,3 +755,29 @@ func TestJavaLibraryArchVariantLibs(t *testing.T) { }, }) } + +func TestJavaLibraryArchVariantSrcsWithExcludes(t *testing.T) { + runJavaLibraryTestCase(t, Bp2buildTestCase{ + Description: "java_library with arch variant libs", + Blueprint: `java_library { + name: "java-lib-1", + srcs: ["a.java", "b.java"], + target: { + android: { + exclude_srcs: ["a.java"], + }, + }, + bazel_module: { bp2build_available: true }, +} +`, + ExpectedBazelTargets: []string{ + MakeBazelTarget("java_library", "java-lib-1", AttrNameToString{ + "srcs": `["b.java"] + select({ + "//build/bazel/platforms/os:android": [], + "//conditions:default": ["a.java"], + })`, + }), + MakeNeverlinkDuplicateTarget("java_library", "java-lib-1"), + }, + }) +} diff --git a/java/java.go b/java/java.go index 6a764cfe9..fb34d4a0d 100644 --- a/java/java.go +++ b/java/java.go @@ -2660,6 +2660,7 @@ func (m *Library) convertLibraryAttrsBp2Build(ctx android.TopDownMutatorContext) } } } + srcs.ResolveExcludes() javaSrcPartition := "java" protoSrcPartition := "proto"