Fix hidden API flags in com.android.i18n

Change 70cfdff3da changed the hidden API
flags in com.android.i18n as it stopped the i18n-bootclasspath-fragment
from making the hidden API flag files available for use by
platform-bootclasspath.

This change fixes that by exporting the flag files even if hidden API
flag generation is skipped.

Bug: 179354495
Test: m com.android.i18 out/soong/hiddenapi/hiddenapi-flags.csv
      - make sure that the flags in
        packages/modules/RuntimeI18n/apex/hiddenapi/hiddenapi-max-target-o-low-priority.txt
        are reflected in the core-icu4j dex files in the apex.
Change-Id: I9b5c7c74bd996ab447bc0e0452da5fd49191a35d
This commit is contained in:
Paul Duffin
2021-05-23 16:55:37 +01:00
parent af99afa919
commit 6237092391
3 changed files with 77 additions and 54 deletions

View File

@@ -70,11 +70,22 @@ func newMonolithicHiddenAPIInfo(ctx android.ModuleContext, flagFilesByCategory F
// append appends all the files from the supplied info to the corresponding files in this struct.
func (i *MonolithicHiddenAPIInfo) append(other *HiddenAPIInfo) {
i.FlagsFilesByCategory.append(other.FlagFilesByCategory)
i.StubFlagsPaths = append(i.StubFlagsPaths, other.StubFlagsPath)
i.AnnotationFlagsPaths = append(i.AnnotationFlagsPaths, other.AnnotationFlagsPath)
i.MetadataPaths = append(i.MetadataPaths, other.MetadataPath)
i.IndexPaths = append(i.IndexPaths, other.IndexPath)
i.AllFlagsPaths = append(i.AllFlagsPaths, other.AllFlagsPath)
// The output may not be set if the bootclasspath_fragment has not yet been updated to support
// hidden API processing.
// TODO(b/179354495): Switch back to append once all bootclasspath_fragment modules have been
// updated to support hidden API processing properly.
appendIfNotNil := func(paths android.Paths, path android.Path) android.Paths {
if path == nil {
return paths
}
return append(paths, path)
}
i.StubFlagsPaths = appendIfNotNil(i.StubFlagsPaths, other.StubFlagsPath)
i.AnnotationFlagsPaths = appendIfNotNil(i.AnnotationFlagsPaths, other.AnnotationFlagsPath)
i.MetadataPaths = appendIfNotNil(i.MetadataPaths, other.MetadataPath)
i.IndexPaths = appendIfNotNil(i.IndexPaths, other.IndexPath)
i.AllFlagsPaths = appendIfNotNil(i.AllFlagsPaths, other.AllFlagsPath)
}
// dedup removes duplicates in all the paths, while maintaining the order in which they were