Merge "Support multiple sources for prebuilt_etc" into main
This commit is contained in:
15
apex/apex.go
15
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() {
|
||||
|
Reference in New Issue
Block a user