diff options
author | Paul Duffin <paulduffin@google.com> | 2021-07-01 15:27:27 +0000 |
---|---|---|
committer | Paul Duffin <paulduffin@google.com> | 2021-07-01 15:27:27 +0000 |
commit | 71e98fa3034ce6993c618a85540824ea2ad9d6a9 (patch) | |
tree | 4e5cbd5df8495e71fb21b6156429523a833f0e2c /java/bootclasspath_fragment.go | |
parent | 2b255d7f6b1e50bc92a12e0b8e757c0eda64b173 (diff) |
Revert "Make bootclasspath_fragments always perform hidden API processing"
This reverts commit 2b255d7f6b1e50bc92a12e0b8e757c0eda64b173.
Reason for revert: build breakage http://b/192554546
Bug: 179354495
Change-Id: Id758af3f59bc83b02d8af4b1b83b3f279a208595
Diffstat (limited to 'java/bootclasspath_fragment.go')
-rw-r--r-- | java/bootclasspath_fragment.go | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/java/bootclasspath_fragment.go b/java/bootclasspath_fragment.go index 769e901a7..73dcd1951 100644 --- a/java/bootclasspath_fragment.go +++ b/java/bootclasspath_fragment.go @@ -576,9 +576,25 @@ func (b *BootclasspathFragmentModule) generateHiddenAPIBuildActions(ctx android. // Create hidden API input structure. input := b.createHiddenAPIFlagInput(ctx, contents, fragments) - // Delegate the production of the hidden API all-flags.csv file to a module type specific method. - common := ctx.Module().(commonBootclasspathFragment) - output := common.produceHiddenAPIOutput(ctx, contents, input) + var output *HiddenAPIOutput + + // Hidden API processing is conditional as a temporary workaround as not all + // bootclasspath_fragments provide the appropriate information needed for hidden API processing + // which leads to breakages of the build. + // TODO(b/179354495): Stop hidden API processing being conditional once all bootclasspath_fragment + // modules have been updated to support it. + if input.canPerformHiddenAPIProcessing(ctx, b.properties) { + // Delegate the production of the hidden API all-flags.csv file to a module type specific method. + common := ctx.Module().(commonBootclasspathFragment) + output = common.produceHiddenAPIOutput(ctx, contents, input) + } else { + // As hidden API processing cannot be performed fall back to trying to retrieve the legacy + // encoded boot dex files, i.e. those files encoded by the individual libraries and returned + // from the DexJarBuildPath() method. + output = &HiddenAPIOutput{ + EncodedBootDexFilesByModule: retrieveLegacyEncodedBootDexFiles(ctx, contents), + } + } // Initialize a HiddenAPIInfo structure. hiddenAPIInfo := HiddenAPIInfo{ |