diff options
author | ThiƩbaud Weksteen <tweek@google.com> | 2024-03-21 23:14:48 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2024-03-21 23:14:48 +0000 |
commit | d3348dbaaa374ab69bedc081a64209e1c0bb886c (patch) | |
tree | 61104f8a7bf593de4cca2f89b07276cd7243bcd5 /apex | |
parent | 7f752454029851ea95b8b758a2fdb6a278a86ac5 (diff) | |
parent | 00e8b31ee6a20ef5301b9dad3715a7bf8bc5c088 (diff) | |
download | soong-d3348dbaaa374ab69bedc081a64209e1c0bb886c.tar.gz |
Merge "Support multiple sources for prebuilt_etc" into main
Diffstat (limited to 'apex')
-rw-r--r-- | apex/apex.go | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/apex/apex.go b/apex/apex.go index 32a3638ed..ed2ca984e 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -1648,10 +1648,9 @@ func apexFileForShBinary(ctx android.BaseModuleContext, sh *sh.ShBinary) apexFil return af } -func apexFileForPrebuiltEtc(ctx android.BaseModuleContext, prebuilt prebuilt_etc.PrebuiltEtcModule, depName string) apexFile { +func apexFileForPrebuiltEtc(ctx android.BaseModuleContext, prebuilt prebuilt_etc.PrebuiltEtcModule, outputFile android.Path) apexFile { dirInApex := filepath.Join(prebuilt.BaseDir(), prebuilt.SubDir()) - fileToCopy := prebuilt.OutputFile() - return newApexFile(ctx, fileToCopy, depName, dirInApex, etc, prebuilt) + return newApexFile(ctx, outputFile, outputFile.Base(), dirInApex, etc, prebuilt) } func apexFileForCompatConfig(ctx android.BaseModuleContext, config java.PlatformCompatConfigIntf, depName string) apexFile { @@ -2120,7 +2119,10 @@ func (a *apexBundle) depVisitor(vctx *visitorContext, ctx android.ModuleContext, } case prebuiltTag: if prebuilt, ok := child.(prebuilt_etc.PrebuiltEtcModule); ok { - vctx.filesInfo = append(vctx.filesInfo, apexFileForPrebuiltEtc(ctx, prebuilt, depName)) + filesToCopy, _ := prebuilt.OutputFiles("") + for _, etcFile := range filesToCopy { + vctx.filesInfo = append(vctx.filesInfo, apexFileForPrebuiltEtc(ctx, prebuilt, etcFile)) + } addAconfigFiles(vctx, ctx, child) } else { ctx.PropertyErrorf("prebuilts", "%q is not a prebuilt_etc module", depName) @@ -2263,7 +2265,10 @@ func (a *apexBundle) depVisitor(vctx *visitorContext, ctx android.ModuleContext, // Because APK-in-APEX embeds jni_libs transitively, we don't need to track transitive deps } else if java.IsXmlPermissionsFileDepTag(depTag) { if prebuilt, ok := child.(prebuilt_etc.PrebuiltEtcModule); ok { - vctx.filesInfo = append(vctx.filesInfo, apexFileForPrebuiltEtc(ctx, prebuilt, depName)) + filesToCopy, _ := prebuilt.OutputFiles("") + for _, etcFile := range filesToCopy { + vctx.filesInfo = append(vctx.filesInfo, apexFileForPrebuiltEtc(ctx, prebuilt, etcFile)) + } } } else if rust.IsDylibDepTag(depTag) { if rustm, ok := child.(*rust.Module); ok && rustm.IsInstallableToApex() { |