summaryrefslogtreecommitdiff
path: root/java/platform_bootclasspath.go
diff options
context:
space:
mode:
authorPaul Duffin <paulduffin@google.com>2021-04-29 20:19:54 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-04-29 20:19:54 +0000
commit5983d856c1a77789b4ea0e5eb18e4db00fc8de62 (patch)
treec438e8cb43445d72e6e268f17cdd41074f884746 /java/platform_bootclasspath.go
parentad7fa97f8d66e73c0e00cee2b920418b4b8f73e5 (diff)
parentc027119e73e9a211b7d2c1cafc978a750f11e920 (diff)
Merge "Fix build failure when building unbundled apps"
Diffstat (limited to 'java/platform_bootclasspath.go')
-rw-r--r--java/platform_bootclasspath.go12
1 files changed, 11 insertions, 1 deletions
diff --git a/java/platform_bootclasspath.go b/java/platform_bootclasspath.go
index 9f1629428..4c91decd4 100644
--- a/java/platform_bootclasspath.go
+++ b/java/platform_bootclasspath.go
@@ -209,7 +209,17 @@ func (b *platformBootclasspathModule) generateHiddenAPIBuildActions(ctx android.
// Don't run any hiddenapi rules if UNSAFE_DISABLE_HIDDENAPI_FLAGS=true. This is a performance
// optimization that can be used to reduce the incremental build time but as its name suggests it
// can be unsafe to use, e.g. when the changes affect anything that goes on the bootclasspath.
- if ctx.Config().IsEnvTrue("UNSAFE_DISABLE_HIDDENAPI_FLAGS") {
+ // Instead create some rules to create fake hidden api files.
+ config := ctx.Config()
+ fakeHiddenApiRules := config.IsEnvTrue("UNSAFE_DISABLE_HIDDENAPI_FLAGS")
+
+ // Don't run them in an unbundled build either because the chances are that the modules needed
+ // are not available.
+ fakeHiddenApiRules = fakeHiddenApiRules || config.UnbundledBuild()
+
+ // Don't run them when always using prebuilts as they won't necessarily have the dex boot jars
+ // available.
+ if fakeHiddenApiRules {
paths := android.OutputPaths{b.hiddenAPIFlagsCSV, b.hiddenAPIIndexCSV, b.hiddenAPIMetadataCSV}
for _, path := range paths {
ctx.Build(pctx, android.BuildParams{