summaryrefslogtreecommitdiff
path: root/java/bootclasspath_fragment.go
diff options
context:
space:
mode:
author Spandan Das <spandandas@google.com> 2024-09-06 00:49:31 +0000
committer Spandan Das <spandandas@google.com> 2024-09-06 05:10:29 +0000
commit1679192d7d1a71633823d92bd7480e2f553e556b (patch)
tree53d3f651899a1acf17e47f37881cd35cb7b47388 /java/bootclasspath_fragment.go
parentc540beef74e30cf30a4a1cc3f250b2ddbe45ad42 (diff)
Skip `contents` validation of source bootclasspath fragments
... if prebuilts are selected. This is a special case of b/361771739 where a apex starts contributing a jar to the BCP. `disableSourceApexVariant` uses `PrebuiltSelectionInfoProvider` and this gets populated via the following dep chain ``` source --> prebuilt --> all_apex_contributions ``` This runs into issues if a prebuilt bootclasspath_fragment does not exist. This CL creates a dependency edge between the source module and all_apex_contributions singleton module so that `PrebuiltSelectionInfoProvider` is available for `disableSourceApexVariant` Bug: 361771739 Test: lunch cf_x86_64-next-userdebug Test: m nothing with ag/28851886 Change-Id: I92d88199a27579d3c9879d40fd354653370efcce
Diffstat (limited to 'java/bootclasspath_fragment.go')
-rw-r--r--java/bootclasspath_fragment.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/java/bootclasspath_fragment.go b/java/bootclasspath_fragment.go
index bef3b58c8..fe4cc7685 100644
--- a/java/bootclasspath_fragment.go
+++ b/java/bootclasspath_fragment.go
@@ -463,6 +463,12 @@ func (b *BootclasspathFragmentModule) DepsMutator(ctx android.BottomUpMutatorCon
// Add a dependency onto the dex2oat tool which is needed for creating the boot image. The
// path is retrieved from the dependency by GetGlobalSoongConfig(ctx).
dexpreopt.RegisterToolDeps(ctx)
+
+ // Add a dependency to `all_apex_contributions` to determine if prebuilts are active.
+ // If prebuilts are active, `contents` validation on the source bootclasspath fragment should be disabled.
+ if _, isPrebuiltModule := ctx.Module().(*PrebuiltBootclasspathFragmentModule); !isPrebuiltModule {
+ ctx.AddDependency(b, android.AcDepTag, "all_apex_contributions")
+ }
}
func (b *BootclasspathFragmentModule) BootclasspathDepsMutator(ctx android.BottomUpMutatorContext) {