Make prebuilt_apex be usable via :modulename syntax

Test: m
Bug: 127789981
Bug: 128677967
Change-Id: Ie1a1147c1d5570cd7eda48e274faabf95566d53f
Merged-In: Ie1a1147c1d5570cd7eda48e274faabf95566d53f
(cherry picked from commit 89ecd590ea)
This commit is contained in:
Nikita Ioffe 2019-04-05 02:10:45 +01:00
parent ed75f61398
commit bed7cd3101

View file

@ -1297,6 +1297,7 @@ type Prebuilt struct {
inputApex android.Path inputApex android.Path
installDir android.OutputPath installDir android.OutputPath
installFilename string installFilename string
outputApex android.WritablePath
} }
type PrebuiltProperties struct { type PrebuiltProperties struct {
@ -1357,6 +1358,10 @@ func (p *Prebuilt) DepsMutator(ctx android.BottomUpMutatorContext) {
p.properties.Source = src p.properties.Source = src
} }
func (p *Prebuilt) Srcs() android.Paths {
return android.Paths{p.outputApex}
}
func (p *Prebuilt) GenerateAndroidBuildActions(ctx android.ModuleContext) { func (p *Prebuilt) GenerateAndroidBuildActions(ctx android.ModuleContext) {
// TODO(jungjw): Check the key validity. // TODO(jungjw): Check the key validity.
p.inputApex = p.Prebuilt().SingleSourcePath(ctx) p.inputApex = p.Prebuilt().SingleSourcePath(ctx)
@ -1365,6 +1370,12 @@ func (p *Prebuilt) GenerateAndroidBuildActions(ctx android.ModuleContext) {
if !strings.HasSuffix(p.installFilename, imageApexSuffix) { if !strings.HasSuffix(p.installFilename, imageApexSuffix) {
ctx.ModuleErrorf("filename should end in %s for prebuilt_apex", 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() { if p.installable() {
ctx.InstallFile(p.installDir, p.installFilename, p.inputApex) ctx.InstallFile(p.installDir, p.installFilename, p.inputApex)
} }