Skip dexbootjar check using AllowMissingDependencies flag
Soong checks that every module part of a bootclass_fragment provides a dex boot jar file, even if the module is not a dependency of vendor.img Using AllowMissingDepdencies() to skip this check allows vendors to be more aggressive in removing projects from their source tree Test: In build/soong, run go test ./... Test: m nothing Bug: 196306898 Bug: 192616764 Change-Id: I78b062afdc19a6a3251aa8552230f3fcf334b6fb
This commit is contained in:
parent
7c16dabfa5
commit
10ea4bf9d4
2 changed files with 11 additions and 1 deletions
|
@ -5090,6 +5090,12 @@ func TestBootDexJarsFromSourcesAndPrebuilts(t *testing.T) {
|
||||||
// find the dex boot jar in it. We either need to disable the source libfoo
|
// find the dex boot jar in it. We either need to disable the source libfoo
|
||||||
// or make the prebuilt libfoo preferred.
|
// or make the prebuilt libfoo preferred.
|
||||||
testDexpreoptWithApexes(t, bp, "module libfoo does not provide a dex boot jar", preparer, fragment)
|
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) {
|
t.Run("prebuilt library preferred with source", func(t *testing.T) {
|
||||||
|
|
|
@ -500,7 +500,11 @@ func copyBootJarsToPredefinedLocations(ctx android.ModuleContext, srcBootDexJars
|
||||||
dst := dstBootJarsByModule[name]
|
dst := dstBootJarsByModule[name]
|
||||||
|
|
||||||
if src == nil {
|
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 {
|
} else if dst == nil {
|
||||||
ctx.ModuleErrorf("module %s is not part of the boot configuration", name)
|
ctx.ModuleErrorf("module %s is not part of the boot configuration", name)
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue