Revert "Use module name as the suffix for apex variant"
This reverts commit db334861b2a33339bb2507e06d8346ace9677ef0.
Test: Local wembley build and boot
Bug: 149013536
diff --git a/apex/androidmk.go b/apex/androidmk.go
index 714045f..8929910 100644
--- a/apex/androidmk.go
+++ b/apex/androidmk.go
@@ -42,11 +42,7 @@
}}
}
-func (a *apexBundle) androidMkForFiles(w io.Writer, apexBundleName, apexName, moduleDir string) []string {
- // apexBundleName comes from the 'name' property; apexName comes from 'apex_name' property.
- // An apex is installed to /system/apex/<apexBundleName> and is activated at /apex/<apexName>
- // In many cases, the two names are the same, but could be different in general.
-
+func (a *apexBundle) androidMkForFiles(w io.Writer, apexName, moduleDir string) []string {
moduleNames := []string{}
apexType := a.properties.ApexType
// To avoid creating duplicate build rules, run this function only when primaryApexType is true
@@ -56,21 +52,12 @@
return moduleNames
}
- // b/140136207. When there are overriding APEXes for a VNDK APEX, the symbols file for the overridden
- // APEX and the overriding APEX will have the same installation paths at /apex/com.android.vndk.v<ver>
- // as their apexName will be the same. To avoid the path conflicts, skip installing the symbol files
- // for the overriding VNDK APEXes.
- symbolFilesNotNeeded := a.vndkApex && len(a.overridableProperties.Overrides) > 0
- if symbolFilesNotNeeded && apexType != flattenedApex {
- return moduleNames
- }
-
var postInstallCommands []string
for _, fi := range a.filesInfo {
if a.linkToSystemLib && fi.transitiveDep && fi.AvailableToPlatform() {
// TODO(jiyong): pathOnDevice should come from fi.module, not being calculated here
linkTarget := filepath.Join("/system", fi.Path())
- linkPath := filepath.Join(a.installDir.ToMakePath().String(), apexBundleName, fi.Path())
+ linkPath := filepath.Join(a.installDir.ToMakePath().String(), apexName, fi.Path())
mkdirCmd := "mkdir -p " + filepath.Dir(linkPath)
linkCmd := "ln -sfn " + linkTarget + " " + linkPath
postInstallCommands = append(postInstallCommands, mkdirCmd, linkCmd)
@@ -88,7 +75,7 @@
if linkToSystemLib {
moduleName = fi.moduleName
} else {
- moduleName = fi.moduleName + "." + apexBundleName + a.suffix
+ moduleName = fi.moduleName + "." + apexName + a.suffix
}
if !android.InList(moduleName, moduleNames) {
@@ -112,8 +99,8 @@
if apexType == flattenedApex {
// /system/apex/<name>/{lib|framework|...}
fmt.Fprintln(w, "LOCAL_MODULE_PATH :=", filepath.Join(a.installDir.ToMakePath().String(),
- apexBundleName, fi.installDir))
- if a.primaryApexType && !symbolFilesNotNeeded {
+ apexName, fi.installDir))
+ if a.primaryApexType {
fmt.Fprintln(w, "LOCAL_SOONG_SYMBOL_PATH :=", pathWhenActivated)
}
if len(fi.symlinks) > 0 {
@@ -249,7 +236,7 @@
apexType := a.properties.ApexType
if a.installable() {
apexName := proptools.StringDefault(a.properties.Apex_name, name)
- moduleNames = a.androidMkForFiles(w, name, apexName, moduleDir)
+ moduleNames = a.androidMkForFiles(w, apexName, moduleDir)
}
if apexType == flattenedApex {
diff --git a/apex/apex_test.go b/apex/apex_test.go
index c5b89e6..3d5cb64 100644
--- a/apex/apex_test.go
+++ b/apex/apex_test.go
@@ -2217,12 +2217,11 @@
}
func TestApexName(t *testing.T) {
- ctx, config := testApex(t, `
+ ctx, _ := testApex(t, `
apex {
name: "myapex",
key: "myapex.key",
apex_name: "com.android.myapex",
- native_shared_libs: ["mylib"],
}
apex_key {
@@ -2230,17 +2229,6 @@
public_key: "testkey.avbpubkey",
private_key: "testkey.pem",
}
-
- cc_library {
- name: "mylib",
- srcs: ["mylib.cpp"],
- system_shared_libs: [],
- stl: "none",
- apex_available: [
- "//apex_available:platform",
- "myapex",
- ],
- }
`)
module := ctx.ModuleForTests("myapex", "android_common_myapex_image")
@@ -2248,16 +2236,6 @@
ensureContains(t, apexManifestRule.Args["opt"], "-v name com.android.myapex")
apexRule := module.Rule("apexRule")
ensureContains(t, apexRule.Args["opt_flags"], "--do_not_check_keyname")
-
- apexBundle := ctx.ModuleForTests("myapex", "android_common_myapex_image").Module().(*apexBundle)
- data := android.AndroidMkDataForTest(t, config, "", apexBundle)
- name := apexBundle.BaseModuleName()
- prefix := "TARGET_"
- var builder strings.Builder
- data.Custom(&builder, name, prefix, "", data)
- androidMk := builder.String()
- ensureContains(t, androidMk, "LOCAL_MODULE := mylib.myapex\n")
- ensureNotContains(t, androidMk, "LOCAL_MODULE := mylib.com.android.myapex\n")
}
func TestNonTestApex(t *testing.T) {