Revert "Use OutputFilesProvider on buildinfo_prop and some android test modules"
This reverts commit 89e4ff60d361cc7e0542f5da7a31c64f90b6d3b8.
Reason for revert: build breakage on aosp-main/mainline_modules_sdks-trunk_staging-userdebug
Change-Id: I5ddac59f66a0e7a96fab39647d406499e3875f6a
diff --git a/android/androidmk_test.go b/android/androidmk_test.go
index 72b8654..ae2187f 100644
--- a/android/androidmk_test.go
+++ b/android/androidmk_test.go
@@ -36,6 +36,10 @@
data AndroidMkData
distFiles TaggedDistFiles
outputFile OptionalPath
+
+ // The paths that will be used as the default dist paths if no tag is
+ // specified.
+ defaultDistPaths Paths
}
const (
@@ -47,7 +51,6 @@
func (m *customModule) GenerateAndroidBuildActions(ctx ModuleContext) {
m.base().licenseMetadataFile = PathForOutput(ctx, "meta_lic")
- var defaultDistPaths Paths
// If the dist_output_file: true then create an output file that is stored in
// the OutputFile property of the AndroidMkEntry.
@@ -59,7 +62,7 @@
// property in AndroidMkEntry when determining the default dist paths.
// Setting this first allows it to be overridden based on the
// default_dist_files setting replicating that previous behavior.
- defaultDistPaths = Paths{path}
+ m.defaultDistPaths = Paths{path}
}
// Based on the setting of the default_dist_files property possibly create a
@@ -68,40 +71,29 @@
defaultDistFiles := proptools.StringDefault(m.properties.Default_dist_files, defaultDistFiles_Tagged)
switch defaultDistFiles {
case defaultDistFiles_None:
- m.setOutputFiles(ctx, defaultDistPaths)
+ // Do nothing
case defaultDistFiles_Default:
path := PathForTesting("default-dist.out")
- defaultDistPaths = Paths{path}
- m.setOutputFiles(ctx, defaultDistPaths)
+ m.defaultDistPaths = Paths{path}
m.distFiles = MakeDefaultDistFiles(path)
case defaultDistFiles_Tagged:
// Module types that set AndroidMkEntry.DistFiles to the result of calling
// GenerateTaggedDistFiles(ctx) relied on no tag being treated as "" which
- // meant that the default dist paths would be the same as empty-string-tag
- // output files. In order to preserve that behavior when treating no tag
- // as being equal to DefaultDistTag this ensures that DefaultDistTag output
- // will be the same as empty-string-tag output.
- defaultDistPaths = PathsForTesting("one.out")
- m.setOutputFiles(ctx, defaultDistPaths)
+ // meant that the default dist paths would be whatever was returned by
+ // OutputFiles(""). In order to preserve that behavior when treating no tag
+ // as being equal to DefaultDistTag this ensures that
+ // OutputFiles(DefaultDistTag) will return the same as OutputFiles("").
+ m.defaultDistPaths = PathsForTesting("one.out")
// This must be called after setting defaultDistPaths/outputFile as
- // GenerateTaggedDistFiles calls into outputFiles property which may use
- // those fields.
+ // GenerateTaggedDistFiles calls into OutputFiles(tag) which may use those
+ // fields.
m.distFiles = m.GenerateTaggedDistFiles(ctx)
}
}
-func (m *customModule) setOutputFiles(ctx ModuleContext, defaultDistPaths Paths) {
- ctx.SetOutputFiles(PathsForTesting("one.out"), "")
- ctx.SetOutputFiles(PathsForTesting("two.out", "three/four.out"), ".multiple")
- ctx.SetOutputFiles(PathsForTesting("another.out"), ".another-tag")
- if defaultDistPaths != nil {
- ctx.SetOutputFiles(defaultDistPaths, DefaultDistTag)
- }
-}
-
func (m *customModule) AndroidMk() AndroidMkData {
return AndroidMkData{
Custom: func(w io.Writer, name, prefix, moduleDir string, data AndroidMkData) {
@@ -110,6 +102,25 @@
}
}
+func (m *customModule) OutputFiles(tag string) (Paths, error) {
+ switch tag {
+ case DefaultDistTag:
+ if m.defaultDistPaths != nil {
+ return m.defaultDistPaths, nil
+ } else {
+ return nil, fmt.Errorf("default dist tag is not available")
+ }
+ case "":
+ return PathsForTesting("one.out"), nil
+ case ".multiple":
+ return PathsForTesting("two.out", "three/four.out"), nil
+ case ".another-tag":
+ return PathsForTesting("another.out"), nil
+ default:
+ return nil, fmt.Errorf("unsupported module reference tag %q", tag)
+ }
+}
+
func (m *customModule) AndroidMkEntries() []AndroidMkEntries {
return []AndroidMkEntries{
{