diff options
-rw-r--r-- | apex/apex_test.go | 6 | ||||
-rw-r--r-- | java/dexpreopt_bootjars.go | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/apex/apex_test.go b/apex/apex_test.go index e1b0cf2da..360c9fe3f 100644 --- a/apex/apex_test.go +++ b/apex/apex_test.go @@ -4644,6 +4644,12 @@ func TestBootDexJarsFromSourcesAndPrebuilts(t *testing.T) { // find the dex boot jar in it. We either need to disable the source libfoo // or make the prebuilt libfoo preferred. testDexpreoptWithApexes(t, bp, "module libfoo does not provide a dex boot jar", preparer, fragment) + // dexbootjar check is skipped if AllowMissingDependencies is true + preparerAllowMissingDeps := android.GroupFixturePreparers( + preparer, + android.PrepareForTestWithAllowMissingDependencies, + ) + testDexpreoptWithApexes(t, bp, "", preparerAllowMissingDeps, fragment) }) t.Run("prebuilt library preferred with source", func(t *testing.T) { diff --git a/java/dexpreopt_bootjars.go b/java/dexpreopt_bootjars.go index 19c65cac7..f50705cc0 100644 --- a/java/dexpreopt_bootjars.go +++ b/java/dexpreopt_bootjars.go @@ -489,7 +489,11 @@ func copyBootJarsToPredefinedLocations(ctx android.ModuleContext, srcBootDexJars dst := dstBootJarsByModule[name] if src == nil { - ctx.ModuleErrorf("module %s does not provide a dex boot jar", name) + if !ctx.Config().AllowMissingDependencies() { + ctx.ModuleErrorf("module %s does not provide a dex boot jar", name) + } else { + ctx.AddMissingDependencies([]string{name}) + } } else if dst == nil { ctx.ModuleErrorf("module %s is not part of the boot configuration", name) } else { |