Add do not convert for sdk_version unset
When sdk_version is unset, the build with fail with Bazel because
private APIs are do not build with Bazel at this time.
This instead prevents migrating the relevant target to Bazel in bp2build
Test: go tests
Change-Id: I31dabcf143de7933706d1b734ef21467a01b65e9
diff --git a/bp2build/android_app_conversion_test.go b/bp2build/android_app_conversion_test.go
index 8ed94b4..25494a1 100644
--- a/bp2build/android_app_conversion_test.go
+++ b/bp2build/android_app_conversion_test.go
@@ -44,9 +44,9 @@
},
Blueprint: `
android_app {
- name: "TestApp",
- srcs: ["app.java"],
- sdk_version: "current",
+ name: "TestApp",
+ srcs: ["app.java"],
+ sdk_version: "current",
}
`,
ExpectedBazelTargets: []string{
@@ -75,17 +75,17 @@
},
Blueprint: simpleModuleDoNotConvertBp2build("android_app", "static_lib_dep") + `
android_app {
- name: "TestApp",
- srcs: ["app.java"],
- sdk_version: "current",
- package_name: "com.google",
- resource_dirs: ["resa", "resb"],
- manifest: "manifest/AndroidManifest.xml",
- static_libs: ["static_lib_dep"],
- java_version: "7",
- certificate: "foocert",
- required: ["static_lib_dep"],
- asset_dirs: ["assets_"],
+ name: "TestApp",
+ srcs: ["app.java"],
+ sdk_version: "current",
+ package_name: "com.google",
+ resource_dirs: ["resa", "resb"],
+ manifest: "manifest/AndroidManifest.xml",
+ static_libs: ["static_lib_dep"],
+ java_version: "7",
+ certificate: "foocert",
+ required: ["static_lib_dep"],
+ asset_dirs: ["assets_"],
}
`,
ExpectedBazelTargets: []string{
@@ -120,16 +120,16 @@
},
Blueprint: `
android_app {
- name: "TestApp",
- sdk_version: "current",
- arch: {
- arm: {
- srcs: ["arm.java"],
- },
- x86: {
- srcs: ["x86.java"],
- }
+ name: "TestApp",
+ sdk_version: "current",
+ arch: {
+ arm: {
+ srcs: ["arm.java"],
+ },
+ x86: {
+ srcs: ["x86.java"],
}
+ }
}
`,
ExpectedBazelTargets: []string{
@@ -154,8 +154,9 @@
Filesystem: map[string]string{},
Blueprint: simpleModuleDoNotConvertBp2build("filegroup", "foocert") + `
android_app {
- name: "TestApp",
- certificate: ":foocert",
+ name: "TestApp",
+ certificate: ":foocert",
+ sdk_version: "current",
}
`,
ExpectedBazelTargets: []string{
@@ -163,6 +164,7 @@
"certificate": `":foocert"`,
"manifest": `"AndroidManifest.xml"`,
"resource_files": `[]`,
+ "sdk_version": `"current"`, // use as default
}),
}})
}
@@ -177,8 +179,9 @@
},
Blueprint: `
android_app {
- name: "TestApp",
- certificate: "foocert",
+ name: "TestApp",
+ certificate: "foocert",
+ sdk_version: "current",
}
`,
ExpectedBazelTargets: []string{
@@ -186,6 +189,7 @@
"certificate": `"foocert"`,
"manifest": `"AndroidManifest.xml"`,
"resource_files": `[]`,
+ "sdk_version": `"current"`, // use as default
}),
}})
}
@@ -200,8 +204,9 @@
},
Blueprint: `
android_app {
- name: "TestApp",
- certificate: "foocert",
+ name: "TestApp",
+ certificate: "foocert",
+ sdk_version: "current",
}
`,
ExpectedBazelTargets: []string{
@@ -209,6 +214,7 @@
"certificate_name": `"foocert"`,
"manifest": `"AndroidManifest.xml"`,
"resource_files": `[]`,
+ "sdk_version": `"current"`, // use as default
}),
}})
}
@@ -219,22 +225,20 @@
ModuleTypeUnderTest: "android_app",
ModuleTypeUnderTestFactory: java.AndroidAppFactory,
Filesystem: map[string]string{},
- Blueprint: simpleModuleDoNotConvertBp2build("filegroup", "foocert") + `
+ Blueprint: simpleModuleDoNotConvertBp2build("filegroup", "foocert") +
+ simpleModuleDoNotConvertBp2build("java_library", "barLib") + `
android_app {
- name: "foo",
- libs: ["barLib"]
-}
-java_library{
- name: "barLib",
+ name: "foo",
+ libs: ["barLib"],
+ sdk_version: "current",
}
`,
ExpectedBazelTargets: []string{
- MakeBazelTarget("java_library", "barLib", AttrNameToString{}),
- MakeNeverlinkDuplicateTarget("java_library", "barLib"),
MakeBazelTarget("android_binary", "foo", AttrNameToString{
"manifest": `"AndroidManifest.xml"`,
"resource_files": `[]`,
"deps": `[":barLib-neverlink"]`,
+ "sdk_version": `"current"`, // use as default
}),
}})
}
@@ -247,21 +251,18 @@
Filesystem: map[string]string{
"res/res.png": "",
},
- Blueprint: simpleModuleDoNotConvertBp2build("filegroup", "foocert") + `
+ Blueprint: simpleModuleDoNotConvertBp2build("filegroup", "foocert") +
+ simpleModuleDoNotConvertBp2build("java_library", "barLib") + `
android_app {
- name: "foo",
- srcs: ["a.java", "b.kt"],
- certificate: ":foocert",
- manifest: "fooManifest.xml",
- libs: ["barLib"]
-}
-java_library{
- name: "barLib",
+ name: "foo",
+ srcs: ["a.java", "b.kt"],
+ certificate: ":foocert",
+ manifest: "fooManifest.xml",
+ libs: ["barLib"],
+ sdk_version: "current",
}
`,
ExpectedBazelTargets: []string{
- MakeBazelTarget("java_library", "barLib", AttrNameToString{}),
- MakeNeverlinkDuplicateTarget("java_library", "barLib"),
MakeBazelTarget("android_library", "foo_kt", AttrNameToString{
"srcs": `[
"a.java",
@@ -270,11 +271,13 @@
"manifest": `"fooManifest.xml"`,
"resource_files": `["res/res.png"]`,
"deps": `[":barLib-neverlink"]`,
+ "sdk_version": `"current"`, // use as default
}),
MakeBazelTarget("android_binary", "foo", AttrNameToString{
"deps": `[":foo_kt"]`,
"certificate": `":foocert"`,
"manifest": `"fooManifest.xml"`,
+ "sdk_version": `"current"`, // use as default
}),
}})
}
@@ -289,31 +292,33 @@
},
Blueprint: simpleModuleDoNotConvertBp2build("filegroup", "foocert") + `
android_app {
- name: "foo",
- srcs: ["a.java"],
- common_srcs: ["b.kt"],
- certificate: "foocert",
- manifest: "fooManifest.xml",
- libs: ["barLib"],
+ name: "foo",
+ srcs: ["a.java"],
+ common_srcs: ["b.kt"],
+ certificate: "foocert",
+ manifest: "fooManifest.xml",
+ libs: ["barLib"],
+ sdk_version: "current",
}
java_library{
- name: "barLib",
+ name: "barLib",
+ bazel_module: { bp2build_available: false },
}
`,
ExpectedBazelTargets: []string{
- MakeBazelTarget("java_library", "barLib", AttrNameToString{}),
- MakeNeverlinkDuplicateTarget("java_library", "barLib"),
MakeBazelTarget("android_library", "foo_kt", AttrNameToString{
"srcs": `["a.java"]`,
"common_srcs": `["b.kt"]`,
"manifest": `"fooManifest.xml"`,
"resource_files": `["res/res.png"]`,
"deps": `[":barLib-neverlink"]`,
+ "sdk_version": `"current"`, // use as default
}),
MakeBazelTarget("android_binary", "foo", AttrNameToString{
"deps": `[":foo_kt"]`,
"certificate_name": `"foocert"`,
"manifest": `"fooManifest.xml"`,
+ "sdk_version": `"current"`, // use as default
}),
}})
}
@@ -328,11 +333,12 @@
},
Blueprint: simpleModuleDoNotConvertBp2build("filegroup", "foocert") + `
android_app {
- name: "foo",
- srcs: ["a.java", "b.kt"],
- certificate: ":foocert",
- manifest: "fooManifest.xml",
- kotlincflags: ["-flag1", "-flag2"],
+ name: "foo",
+ srcs: ["a.java", "b.kt"],
+ certificate: ":foocert",
+ manifest: "fooManifest.xml",
+ kotlincflags: ["-flag1", "-flag2"],
+ sdk_version: "current",
}
`,
ExpectedBazelTargets: []string{
@@ -347,11 +353,13 @@
"-flag1",
"-flag2",
]`,
+ "sdk_version": `"current"`, // use as default
}),
MakeBazelTarget("android_binary", "foo", AttrNameToString{
"deps": `[":foo_kt"]`,
"certificate": `":foocert"`,
"manifest": `"fooManifest.xml"`,
+ "sdk_version": `"current"`,
}),
}})
}
@@ -364,11 +372,11 @@
Filesystem: map[string]string{},
Blueprint: simpleModuleDoNotConvertBp2build("filegroup", "foocert") + `
android_app {
- name: "foo",
- sdk_version: "current",
- min_sdk_version: "24",
- max_sdk_version: "30",
- target_sdk_version: "29",
+ name: "foo",
+ sdk_version: "current",
+ min_sdk_version: "24",
+ max_sdk_version: "30",
+ target_sdk_version: "29",
}
`,
ExpectedBazelTargets: []string{
@@ -393,8 +401,8 @@
Filesystem: map[string]string{},
Blueprint: simpleModuleDoNotConvertBp2build("filegroup", "foocert") + `
android_app {
- name: "foo",
- sdk_version: "30",
+ name: "foo",
+ sdk_version: "30",
}
`,
ExpectedBazelTargets: []string{