summaryrefslogtreecommitdiff
path: root/java/platform_bootclasspath.go
diff options
context:
space:
mode:
author Paul Duffin <paulduffin@google.com> 2021-07-16 14:00:37 +0100
committer Paul Duffin <paulduffin@google.com> 2021-07-16 17:03:17 +0100
commit3bc8e218f97339b1c9106596960f5b27e8d1f89d (patch)
tree41a72fc8d244f43bc2902c18ef8ea2ff6bb68263 /java/platform_bootclasspath.go
parentf87aae535687604e102bb9da30f5da2080271ba5 (diff)
Avoid permitted_packages related build failures in unbundled builds
Unbundled builds cause AlwaysUsePrebuiltSdks() to return true which causes java_sdk_library_import modules to be preferred instead of their corresponding java_sdk_library module. That causes the platform-bootclasspath module to depend on prebuilt versions of modules like framework-statsd which currently do not specify permitted_packages and so cause a failure. This is a temporary hack to prevent an unbundled build from checking for permitted_packages. It can be removed once the prebuilts have been updated to include the permitted_packages. Bug: 193095050 Bug: 193889859 Test: m TARGET_BUILD_APPS=Calendar apps_only - before the change it failed in Soong. - after the change it started failing, later in Make, so the Soong problem has been worked around. - I reverted all the recent changes to permitted_packages and ran this and it still failed so that failure is unrelated to these changes. Change-Id: I213d35437d76d61cf616d1f16dae213b311c6c8e
Diffstat (limited to 'java/platform_bootclasspath.go')
-rw-r--r--java/platform_bootclasspath.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/java/platform_bootclasspath.go b/java/platform_bootclasspath.go
index c1e14b21e..8bed3e9e5 100644
--- a/java/platform_bootclasspath.go
+++ b/java/platform_bootclasspath.go
@@ -423,8 +423,13 @@ func (b *platformBootclasspathModule) generateBootImageBuildActions(ctx android.
// Generate the framework profile rule
bootFrameworkProfileRule(ctx, imageConfig)
- // Generate the updatable bootclasspath packages rule.
- generateUpdatableBcpPackagesRule(ctx, imageConfig, updatableModules)
+ // If always using prebuilt sdks then do not generate the updatable-bcp-packages.txt file as it
+ // will break because the prebuilts do not yet specify a permitted_packages property.
+ // TODO(b/193889859): Remove when the prebuilts have been updated.
+ if !ctx.Config().AlwaysUsePrebuiltSdks() {
+ // Generate the updatable bootclasspath packages rule.
+ generateUpdatableBcpPackagesRule(ctx, imageConfig, updatableModules)
+ }
// Copy non-updatable module dex jars to their predefined locations.
nonUpdatableBootDexJarsByModule := extractEncodedDexJarsFromModules(ctx, nonUpdatableModules)