Add the transitive dependencies of boot_image to apex

This avoids having to specify boot libraries in both the boot_image
and separately as java_libs on the apex. Simply add them to the
boot_image (happens automatically ATM when using image_name: "art")
and add the boot_image to the apex.

Bug: 177892522
Test: m nothing
Change-Id: I7e0c41665604b73780cdf0dc555067497b1e6ef0
This commit is contained in:
Paul Duffin
2021-03-24 15:42:20 +00:00
parent 82886d6cbf
commit 4d101b60f0
3 changed files with 33 additions and 6 deletions

View File

@@ -177,8 +177,10 @@ func TestBootImageInArtApex(t *testing.T) {
boot_images: [
"mybootimage",
],
// bar (like foo) should be transitively included in this apex because it is part of the
// mybootimage boot_image. However, it is kept here to ensure that the apex dedups the files
// correctly.
java_libs: [
"foo",
"bar",
],
updatable: false,
@@ -247,7 +249,6 @@ func TestBootImageInArtApex(t *testing.T) {
java.CheckModuleDependencies(t, result.TestContext, "com.android.art", "android_common_com.android.art_image", []string{
`bar`,
`com.android.art.key`,
`foo`,
`mybootimage`,
})
}
@@ -365,8 +366,12 @@ func TestBootImageContentsNoName(t *testing.T) {
}
`)
// The apex is empty because the contents of boot_image are not transitively included, yet!
ensureExactContents(t, result.TestContext, "myapex", "android_common_myapex_image", []string{})
ensureExactContents(t, result.TestContext, "myapex", "android_common_myapex_image", []string{
// This does not include art, oat or vdex files as they are only included for the art boot
// image.
"javalib/bar.jar",
"javalib/foo.jar",
})
java.CheckModuleDependencies(t, result.TestContext, "myapex", "android_common_myapex_image", []string{
`myapex.key`,