Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 89ecd590 authored by Nikita Ioffe's avatar Nikita Ioffe
Browse files

Make prebuilt_apex be usable via :modulename syntax

Test: m
Bug: 127789981
Bug: 128677967
Change-Id: Ie1a1147c1d5570cd7eda48e274faabf95566d53f
parent 7a41ebdf
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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)
	}