From 89ecd590ea9cb1424964f98f88a76830b6953a6a Mon Sep 17 00:00:00 2001 From: Nikita Ioffe Date: Fri, 5 Apr 2019 02:10:45 +0100 Subject: [PATCH] Make prebuilt_apex be usable via :modulename syntax Test: m Bug: 127789981 Bug: 128677967 Change-Id: Ie1a1147c1d5570cd7eda48e274faabf95566d53f --- apex/apex.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/apex/apex.go b/apex/apex.go index ed4ec1aaa..004de86c7 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -1297,6 +1297,7 @@ type Prebuilt struct { inputApex android.Path installDir android.OutputPath installFilename string + outputApex android.WritablePath } type PrebuiltProperties struct { @@ -1357,6 +1358,10 @@ func (p *Prebuilt) DepsMutator(ctx android.BottomUpMutatorContext) { p.properties.Source = src } +func (p *Prebuilt) Srcs() android.Paths { + return android.Paths{p.outputApex} +} + func (p *Prebuilt) GenerateAndroidBuildActions(ctx android.ModuleContext) { // TODO(jungjw): Check the key validity. p.inputApex = p.Prebuilt().SingleSourcePath(ctx) @@ -1365,6 +1370,12 @@ func (p *Prebuilt) GenerateAndroidBuildActions(ctx android.ModuleContext) { if !strings.HasSuffix(p.installFilename, imageApexSuffix) { ctx.ModuleErrorf("filename should end in %s for prebuilt_apex", imageApexSuffix) } + p.outputApex = android.PathForModuleOut(ctx, p.installFilename) + ctx.Build(pctx, android.BuildParams{ + Rule: android.Cp, + Input: p.inputApex, + Output: p.outputApex, + }) if p.installable() { ctx.InstallFile(p.installDir, p.installFilename, p.inputApex) }