Always drop deps from java_library with no srcs
This is the follow up from aosp/2750763
Test: CI and added unit test
Bug: 285952385
Change-Id: I64703ee4fa742b718ffb43f2af1b6ab43ddeb606
diff --git a/bp2build/java_library_conversion_test.go b/bp2build/java_library_conversion_test.go
index 8c78217..3260b1e 100644
--- a/bp2build/java_library_conversion_test.go
+++ b/bp2build/java_library_conversion_test.go
@@ -15,7 +15,6 @@
package bp2build
import (
- "fmt"
"testing"
"android/soong/android"
@@ -143,26 +142,6 @@
})
}
-func TestJavaLibraryFailsToConvertLibsWithNoSrcs(t *testing.T) {
- runJavaLibraryTestCase(t, Bp2buildTestCase{
- ExpectedErr: fmt.Errorf("Module has direct dependencies but no sources. Bazel will not allow this."),
- Blueprint: `java_library {
- name: "java-lib-1",
- libs: ["java-lib-2"],
- sdk_version: "current",
- bazel_module: { bp2build_available: true },
-}
-
-java_library {
- name: "java-lib-2",
- srcs: ["a.java"],
- sdk_version: "current",
- bazel_module: { bp2build_available: false },
-}`,
- ExpectedBazelTargets: []string{},
- })
-}
-
func TestJavaLibraryPlugins(t *testing.T) {
runJavaLibraryTestCaseWithRegistrationCtxFunc(t, Bp2buildTestCase{
Blueprint: `java_library {
@@ -869,6 +848,30 @@
})
}
+func TestJavaLibraryLibsWithNoSrcs(t *testing.T) {
+ runJavaLibraryTestCase(t, Bp2buildTestCase{
+ Description: "java_library that has libs but no srcs",
+ Blueprint: `java_library {
+ name: "java-lib-1",
+ libs: ["java-lib-2"],
+ sdk_version: "current",
+ bazel_module: { bp2build_available: true },
+}
+
+java_library{
+ name: "java-lib-2",
+ bazel_module: { bp2build_available: false },
+}
+`,
+ ExpectedBazelTargets: []string{
+ MakeBazelTarget("java_library", "java-lib-1", AttrNameToString{
+ "sdk_version": `"current"`,
+ }),
+ MakeNeverlinkDuplicateTarget("java_library", "java-lib-1"),
+ },
+ })
+}
+
func TestJavaLibraryArchVariantDeps(t *testing.T) {
runJavaLibraryTestCase(t, Bp2buildTestCase{
Description: "java_library with arch variant libs",