Simplify deapexer support
Uses the apex relative path to the file as the identifier that is used
to obtain the path to the corresponding file extracted from the apex.
That is instead of a special constructed string id.
Bug: 177892522
Test: m nothing
Change-Id: I5dc77c8fb272bac289b8891d1eac801e541af1f5
diff --git a/apex/prebuilt.go b/apex/prebuilt.go
index 435b661..32dcf54 100644
--- a/apex/prebuilt.go
+++ b/apex/prebuilt.go
@@ -549,8 +549,7 @@
// Compute the deapexer properties from the transitive dependencies of this module.
commonModules := []string{}
- exportedFilesByKey := map[string]string{}
- requiringModulesByKey := map[string]android.Module{}
+ exportedFiles := []string{}
ctx.WalkDeps(func(child, parent android.Module) bool {
tag := ctx.OtherModuleDependencyTag(child)
@@ -564,16 +563,7 @@
commonModules = append(commonModules, name)
requiredFiles := child.(android.RequiredFilesFromPrebuiltApex).RequiredFilesFromPrebuiltApex(ctx)
- for k, v := range requiredFiles {
- if f, ok := exportedFilesByKey[k]; ok && f != v {
- otherModule := requiringModulesByKey[k]
- ctx.ModuleErrorf("inconsistent paths have been requested for key %q, %s requires path %s while %s requires path %s",
- k, child, v, otherModule, f)
- continue
- }
- exportedFilesByKey[k] = v
- requiringModulesByKey[k] = child
- }
+ exportedFiles = append(exportedFiles, requiredFiles...)
// Visit the dependencies of this module just in case they also require files from the
// prebuilt apex.
@@ -591,12 +581,7 @@
}
// Populate the exported files property in a fixed order.
- for _, tag := range android.SortedStringKeys(exportedFilesByKey) {
- deapexerProperties.ExportedFiles = append(deapexerProperties.ExportedFiles, DeapexerExportedFile{
- Tag: tag,
- Path: exportedFilesByKey[tag],
- })
- }
+ deapexerProperties.ExportedFiles = android.SortedUniqueStrings(exportedFiles)
props := struct {
Name *string