Merge "rust modules in APEX don't get installed to the system partition" am: 109d9ccdcb

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1532938

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Idd86c4725819e31268e62c9f29d9fe50d098f51f
This commit is contained in:
Treehugger Robot
2020-12-23 01:27:57 +00:00
committed by Automerger Merge Worker

View File

@@ -482,6 +482,16 @@ func (mod *Module) CoverageFiles() android.Paths {
panic(fmt.Errorf("CoverageFiles called on non-library module: %q", mod.BaseModuleName()))
}
func (mod *Module) installable(apexInfo android.ApexInfo) bool {
// The apex variant is not installable because it is included in the APEX and won't appear
// in the system partition as a standalone file.
if !apexInfo.IsForPlatform() {
return false
}
return mod.outputFile.Valid() && !mod.Properties.PreventInstall
}
var _ cc.LinkableInterface = (*Module)(nil)
func (mod *Module) Init() android.Module {
@@ -653,7 +663,9 @@ func (mod *Module) GenerateAndroidBuildActions(actx android.ModuleContext) {
outputFile := mod.compiler.compile(ctx, flags, deps)
mod.outputFile = android.OptionalPathForPath(outputFile)
if mod.outputFile.Valid() && !mod.Properties.PreventInstall {
apexInfo := actx.Provider(android.ApexInfoProvider).(android.ApexInfo)
if mod.installable(apexInfo) {
mod.compiler.install(ctx)
}
}