summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author mrziwang <mrziwang@google.com> 2024-06-13 12:05:18 -0700
committer Zi Wang <mrziwang@google.com> 2024-06-20 16:19:48 +0000
commite7ec89e0a902662f33ec0bb1869e8bfaea896bcf (patch)
tree69d7ffb9f4e514bcfa7c526709f97644478dc38b
parent26faf1b32188260d1728d57004a81a5cd55bfe6c (diff)
ExportableModule no longer implements OutputFileProducer
multitree.ExportableModule no longer implements android.OutputFileProducer In the context of incremental soong, the output files inter-module-communication will be through OutputFilesProvider. The OutputFileProducer interface will be deprecated. ApiSurface and apexBundle are included in this change. Test: CI Bug: 339477385 Change-Id: I9247bb2dfed270a879f8bc96c6aa06803fde0150
-rw-r--r--apex/apex.go33
-rw-r--r--multitree/api_surface.go12
-rw-r--r--multitree/export.go1
3 files changed, 15 insertions, 31 deletions
diff --git a/apex/apex.go b/apex/apex.go
index 754f8981e..5a7742b75 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -1370,25 +1370,6 @@ func (a *apexBundle) DepIsInSameApex(_ android.BaseModuleContext, _ android.Modu
return true
}
-var _ android.OutputFileProducer = (*apexBundle)(nil)
-
-// Implements android.OutputFileProducer
-func (a *apexBundle) OutputFiles(tag string) (android.Paths, error) {
- switch tag {
- case "", android.DefaultDistTag:
- // This is the default dist path.
- return android.Paths{a.outputFile}, nil
- case imageApexSuffix:
- // uncompressed one
- if a.outputApexFile != nil {
- return android.Paths{a.outputApexFile}, nil
- }
- fallthrough
- default:
- return nil, fmt.Errorf("unsupported module reference tag %q", tag)
- }
-}
-
var _ multitree.Exportable = (*apexBundle)(nil)
func (a *apexBundle) Exportable() bool {
@@ -2432,6 +2413,8 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) {
a.providePrebuiltInfo(ctx)
a.required = a.RequiredModuleNames(ctx)
+
+ a.setOutputFiles(ctx)
}
// Set prebuiltInfoProvider. This will be used by `apex_prebuiltinfo_singleton` to print out a metadata file
@@ -2460,6 +2443,18 @@ func (a *apexBundle) provideApexExportsInfo(ctx android.ModuleContext) {
})
}
+// Set output files to outputFiles property, which is later used to set the
+// OutputFilesProvider
+func (a *apexBundle) setOutputFiles(ctx android.ModuleContext) {
+ // default dist path
+ ctx.SetOutputFiles(android.Paths{a.outputFile}, "")
+ ctx.SetOutputFiles(android.Paths{a.outputFile}, android.DefaultDistTag)
+ // uncompressed one
+ if a.outputApexFile != nil {
+ ctx.SetOutputFiles(android.Paths{a.outputApexFile}, imageApexSuffix)
+ }
+}
+
// apexBootclasspathFragmentFiles returns the list of apexFile structures defining the files that
// the bootclasspath_fragment contributes to the apex.
func apexBootclasspathFragmentFiles(ctx android.ModuleContext, module blueprint.Module) []apexFile {
diff --git a/multitree/api_surface.go b/multitree/api_surface.go
index f739a2430..0f605d84a 100644
--- a/multitree/api_surface.go
+++ b/multitree/api_surface.go
@@ -16,8 +16,6 @@ package multitree
import (
"android/soong/android"
- "fmt"
-
"github.com/google/blueprint"
)
@@ -40,7 +38,6 @@ type ApiSurface struct {
ExportableModuleBase
properties apiSurfaceProperties
- allOutputs android.Paths
taggedOutputs map[string]android.Paths
}
@@ -86,15 +83,9 @@ func (surface *ApiSurface) GenerateAndroidBuildActions(ctx android.ModuleContext
Inputs: allOutputs,
})
- surface.allOutputs = allOutputs
surface.taggedOutputs = contributionFiles
-}
-func (surface *ApiSurface) OutputFiles(tag string) (android.Paths, error) {
- if tag != "" {
- return nil, fmt.Errorf("unknown tag: %q", tag)
- }
- return surface.allOutputs, nil
+ ctx.SetOutputFiles(allOutputs, "")
}
func (surface *ApiSurface) TaggedOutputs() map[string]android.Paths {
@@ -105,7 +96,6 @@ func (surface *ApiSurface) Exportable() bool {
return true
}
-var _ android.OutputFileProducer = (*ApiSurface)(nil)
var _ Exportable = (*ApiSurface)(nil)
type ApiContribution interface {
diff --git a/multitree/export.go b/multitree/export.go
index aecade58d..8be8f7058 100644
--- a/multitree/export.go
+++ b/multitree/export.go
@@ -50,7 +50,6 @@ type Exportable interface {
type ExportableModule interface {
android.Module
- android.OutputFileProducer
Exportable
}