Use OutputFilesProvider on prebuilt_apex and apex_set

In the context of incremental soong, the output files
inter-module-communication will be through OutputFilesProvider.
The OutputFileProducer interface will be deprecated.

Test: CI
Bug: 339477385
Change-Id: I5cb79a2e39f7fdd791762bcde5a5bfb325985274
This commit is contained in:
mrziwang
2024-06-13 11:26:04 -07:00
parent 22c8aca893
commit 1587b9ccaf

View File

@@ -587,15 +587,6 @@ func (a *Prebuilt) hasSanitizedSource(sanitizer string) bool {
return false
}
func (p *Prebuilt) OutputFiles(tag string) (android.Paths, error) {
switch tag {
case "":
return android.Paths{p.outputApex}, nil
default:
return nil, fmt.Errorf("unsupported module reference tag %q", tag)
}
}
// prebuilt_apex imports an `.apex` file into the build graph as if it was built with apex.
func PrebuiltFactory() android.Module {
module := &Prebuilt{}
@@ -894,6 +885,8 @@ func (p *Prebuilt) GenerateAndroidBuildActions(ctx android.ModuleContext) {
p.installedFile = ctx.InstallFile(p.installDir, p.installFilename, p.inputApex, p.compatSymlinks...)
p.provenanceMetaDataFile = provenance.GenerateArtifactProvenanceMetaData(ctx, p.inputApex, p.installedFile)
}
ctx.SetOutputFiles(android.Paths{p.outputApex}, "")
}
func (p *Prebuilt) ProvenanceMetaDataFile() android.OutputPath {
@@ -1009,15 +1002,6 @@ func (a *ApexSet) hasSanitizedSource(sanitizer string) bool {
return false
}
func (a *ApexSet) OutputFiles(tag string) (android.Paths, error) {
switch tag {
case "":
return android.Paths{a.outputApex}, nil
default:
return nil, fmt.Errorf("unsupported module reference tag %q", tag)
}
}
// prebuilt_apex imports an `.apex` file into the build graph as if it was built with apex.
func apexSetFactory() android.Module {
module := &ApexSet{}
@@ -1121,6 +1105,8 @@ func (a *ApexSet) GenerateAndroidBuildActions(ctx android.ModuleContext) {
for _, overridden := range a.prebuiltCommonProperties.Overrides {
a.compatSymlinks = append(a.compatSymlinks, makeCompatSymlinks(overridden, ctx)...)
}
ctx.SetOutputFiles(android.Paths{a.outputApex}, "")
}
type systemExtContext struct {