1*333d2b36SAndroid Build Coastguard Worker// Copyright 2022 Google Inc. All rights reserved. 2*333d2b36SAndroid Build Coastguard Worker// 3*333d2b36SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*333d2b36SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*333d2b36SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*333d2b36SAndroid Build Coastguard Worker// 7*333d2b36SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*333d2b36SAndroid Build Coastguard Worker// 9*333d2b36SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*333d2b36SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*333d2b36SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*333d2b36SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*333d2b36SAndroid Build Coastguard Worker// limitations under the License. 14*333d2b36SAndroid Build Coastguard Worker 15*333d2b36SAndroid Build Coastguard Worker// Testing support for dexpreopt config. 16*333d2b36SAndroid Build Coastguard Worker// 17*333d2b36SAndroid Build Coastguard Worker// The bootImageConfig/bootImageVariant structs returned by genBootImageConfigs are used in many 18*333d2b36SAndroid Build Coastguard Worker// places in the build and are currently mutated in a number of those locations. This provides 19*333d2b36SAndroid Build Coastguard Worker// comprehensive tests of the fields in those structs to ensure that they have been initialized 20*333d2b36SAndroid Build Coastguard Worker// correctly and where relevant, mutated correctly. 21*333d2b36SAndroid Build Coastguard Worker// 22*333d2b36SAndroid Build Coastguard Worker// This is used in TestBootImageConfig to verify that the 23*333d2b36SAndroid Build Coastguard Worker 24*333d2b36SAndroid Build Coastguard Workerpackage java 25*333d2b36SAndroid Build Coastguard Worker 26*333d2b36SAndroid Build Coastguard Workerimport ( 27*333d2b36SAndroid Build Coastguard Worker "fmt" 28*333d2b36SAndroid Build Coastguard Worker "strings" 29*333d2b36SAndroid Build Coastguard Worker "testing" 30*333d2b36SAndroid Build Coastguard Worker 31*333d2b36SAndroid Build Coastguard Worker "android/soong/android" 32*333d2b36SAndroid Build Coastguard Worker "android/soong/dexpreopt" 33*333d2b36SAndroid Build Coastguard Worker) 34*333d2b36SAndroid Build Coastguard Worker 35*333d2b36SAndroid Build Coastguard Worker// PrepareForBootImageConfigTest is the minimal set of preparers that are needed to be able to use 36*333d2b36SAndroid Build Coastguard Worker// the Check*BootImageConfig methods define here. 37*333d2b36SAndroid Build Coastguard Workervar PrepareForBootImageConfigTest = android.GroupFixturePreparers( 38*333d2b36SAndroid Build Coastguard Worker android.PrepareForTestWithArchMutator, 39*333d2b36SAndroid Build Coastguard Worker android.PrepareForTestAccessingMakeVars, 40*333d2b36SAndroid Build Coastguard Worker PrepareForTestWithDexpreopt, 41*333d2b36SAndroid Build Coastguard Worker FixtureConfigureBootJars("com.android.art:core1", "com.android.art:core2", "platform:framework"), 42*333d2b36SAndroid Build Coastguard Worker dexpreopt.FixtureSetTestOnlyArtBootImageJars("com.android.art:core1", "com.android.art:core2", "platform:extra1"), 43*333d2b36SAndroid Build Coastguard Worker android.FixtureAddTextFile("extra1/Android.bp", ` 44*333d2b36SAndroid Build Coastguard Worker java_library { 45*333d2b36SAndroid Build Coastguard Worker name: "extra1", 46*333d2b36SAndroid Build Coastguard Worker srcs: ["extra1.java"], 47*333d2b36SAndroid Build Coastguard Worker installable: true, 48*333d2b36SAndroid Build Coastguard Worker } 49*333d2b36SAndroid Build Coastguard Worker `), 50*333d2b36SAndroid Build Coastguard Worker android.FixtureAddFile("extra1/extra1.java", nil), 51*333d2b36SAndroid Build Coastguard Worker) 52*333d2b36SAndroid Build Coastguard Worker 53*333d2b36SAndroid Build Coastguard Workervar PrepareApexBootJarConfigs = FixtureConfigureApexBootJars( 54*333d2b36SAndroid Build Coastguard Worker "com.android.foo:framework-foo", "com.android.bar:framework-bar") 55*333d2b36SAndroid Build Coastguard Worker 56*333d2b36SAndroid Build Coastguard Workervar PrepareApexBootJarConfigsAndModules = android.GroupFixturePreparers( 57*333d2b36SAndroid Build Coastguard Worker PrepareApexBootJarConfigs, 58*333d2b36SAndroid Build Coastguard Worker PrepareApexBootJarModule("com.android.foo", "framework-foo"), 59*333d2b36SAndroid Build Coastguard Worker PrepareApexBootJarModule("com.android.bar", "framework-bar"), 60*333d2b36SAndroid Build Coastguard Worker) 61*333d2b36SAndroid Build Coastguard Worker 62*333d2b36SAndroid Build Coastguard Workervar ApexBootJarFragmentsForPlatformBootclasspath = fmt.Sprintf(` 63*333d2b36SAndroid Build Coastguard Worker { 64*333d2b36SAndroid Build Coastguard Worker apex: "%[1]s", 65*333d2b36SAndroid Build Coastguard Worker module: "%[1]s-bootclasspath-fragment", 66*333d2b36SAndroid Build Coastguard Worker }, 67*333d2b36SAndroid Build Coastguard Worker { 68*333d2b36SAndroid Build Coastguard Worker apex: "%[2]s", 69*333d2b36SAndroid Build Coastguard Worker module: "%[2]s-bootclasspath-fragment", 70*333d2b36SAndroid Build Coastguard Worker }, 71*333d2b36SAndroid Build Coastguard Worker`, "com.android.foo", "com.android.bar") 72*333d2b36SAndroid Build Coastguard Worker 73*333d2b36SAndroid Build Coastguard Workervar ApexBootJarDexJarPaths = []string{ 74*333d2b36SAndroid Build Coastguard Worker "out/soong/.intermediates/packages/modules/com.android.bar/framework-bar/android_common_apex10000/aligned/framework-bar.jar", 75*333d2b36SAndroid Build Coastguard Worker "out/soong/.intermediates/packages/modules/com.android.foo/framework-foo/android_common_apex10000/aligned/framework-foo.jar", 76*333d2b36SAndroid Build Coastguard Worker} 77*333d2b36SAndroid Build Coastguard Worker 78*333d2b36SAndroid Build Coastguard Workerfunc PrepareApexBootJarModule(apexName string, moduleName string) android.FixturePreparer { 79*333d2b36SAndroid Build Coastguard Worker moduleSourceDir := fmt.Sprintf("packages/modules/%s", apexName) 80*333d2b36SAndroid Build Coastguard Worker fragmentName := apexName + "-bootclasspath-fragment" 81*333d2b36SAndroid Build Coastguard Worker imageNameProp := "" 82*333d2b36SAndroid Build Coastguard Worker if apexName == "com.android.art" { 83*333d2b36SAndroid Build Coastguard Worker fragmentName = "art-bootclasspath-fragment" 84*333d2b36SAndroid Build Coastguard Worker imageNameProp = `image_name: "art",` 85*333d2b36SAndroid Build Coastguard Worker } 86*333d2b36SAndroid Build Coastguard Worker 87*333d2b36SAndroid Build Coastguard Worker return android.GroupFixturePreparers( 88*333d2b36SAndroid Build Coastguard Worker android.FixtureAddTextFile(moduleSourceDir+"/Android.bp", fmt.Sprintf(` 89*333d2b36SAndroid Build Coastguard Worker apex { 90*333d2b36SAndroid Build Coastguard Worker name: "%[1]s", 91*333d2b36SAndroid Build Coastguard Worker key: "%[1]s.key", 92*333d2b36SAndroid Build Coastguard Worker bootclasspath_fragments: [ 93*333d2b36SAndroid Build Coastguard Worker "%[3]s", 94*333d2b36SAndroid Build Coastguard Worker ], 95*333d2b36SAndroid Build Coastguard Worker updatable: false, 96*333d2b36SAndroid Build Coastguard Worker } 97*333d2b36SAndroid Build Coastguard Worker 98*333d2b36SAndroid Build Coastguard Worker apex_key { 99*333d2b36SAndroid Build Coastguard Worker name: "%[1]s.key", 100*333d2b36SAndroid Build Coastguard Worker public_key: "%[1]s.avbpubkey", 101*333d2b36SAndroid Build Coastguard Worker private_key: "%[1]s.pem", 102*333d2b36SAndroid Build Coastguard Worker } 103*333d2b36SAndroid Build Coastguard Worker 104*333d2b36SAndroid Build Coastguard Worker bootclasspath_fragment { 105*333d2b36SAndroid Build Coastguard Worker name: "%[3]s", 106*333d2b36SAndroid Build Coastguard Worker %[4]s 107*333d2b36SAndroid Build Coastguard Worker contents: ["%[2]s"], 108*333d2b36SAndroid Build Coastguard Worker apex_available: ["%[1]s"], 109*333d2b36SAndroid Build Coastguard Worker hidden_api: { 110*333d2b36SAndroid Build Coastguard Worker split_packages: ["*"], 111*333d2b36SAndroid Build Coastguard Worker }, 112*333d2b36SAndroid Build Coastguard Worker } 113*333d2b36SAndroid Build Coastguard Worker 114*333d2b36SAndroid Build Coastguard Worker java_library { 115*333d2b36SAndroid Build Coastguard Worker name: "%[2]s", 116*333d2b36SAndroid Build Coastguard Worker srcs: ["%[2]s.java"], 117*333d2b36SAndroid Build Coastguard Worker system_modules: "none", 118*333d2b36SAndroid Build Coastguard Worker sdk_version: "none", 119*333d2b36SAndroid Build Coastguard Worker compile_dex: true, 120*333d2b36SAndroid Build Coastguard Worker apex_available: ["%[1]s"], 121*333d2b36SAndroid Build Coastguard Worker } 122*333d2b36SAndroid Build Coastguard Worker `, apexName, moduleName, fragmentName, imageNameProp)), 123*333d2b36SAndroid Build Coastguard Worker android.FixtureMergeMockFs(android.MockFS{ 124*333d2b36SAndroid Build Coastguard Worker fmt.Sprintf("%s/apex_manifest.json", moduleSourceDir): nil, 125*333d2b36SAndroid Build Coastguard Worker fmt.Sprintf("%s/%s.avbpubkey", moduleSourceDir, apexName): nil, 126*333d2b36SAndroid Build Coastguard Worker fmt.Sprintf("%s/%s.pem", moduleSourceDir, apexName): nil, 127*333d2b36SAndroid Build Coastguard Worker fmt.Sprintf("system/sepolicy/apex/%s-file_contexts", apexName): nil, 128*333d2b36SAndroid Build Coastguard Worker fmt.Sprintf("%s/%s.java", moduleSourceDir, moduleName): nil, 129*333d2b36SAndroid Build Coastguard Worker }), 130*333d2b36SAndroid Build Coastguard Worker ) 131*333d2b36SAndroid Build Coastguard Worker} 132*333d2b36SAndroid Build Coastguard Worker 133*333d2b36SAndroid Build Coastguard Worker// normalizedInstall represents a android.RuleBuilderInstall that has been normalized to remove 134*333d2b36SAndroid Build Coastguard Worker// test specific parts of the From path. 135*333d2b36SAndroid Build Coastguard Workertype normalizedInstall struct { 136*333d2b36SAndroid Build Coastguard Worker from string 137*333d2b36SAndroid Build Coastguard Worker to string 138*333d2b36SAndroid Build Coastguard Worker} 139*333d2b36SAndroid Build Coastguard Worker 140*333d2b36SAndroid Build Coastguard Worker// normalizeInstalls converts a slice of android.RuleBuilderInstall into a slice of 141*333d2b36SAndroid Build Coastguard Worker// normalizedInstall to allow them to be compared using android.AssertDeepEquals. 142*333d2b36SAndroid Build Coastguard Workerfunc normalizeInstalls(installs android.RuleBuilderInstalls) []normalizedInstall { 143*333d2b36SAndroid Build Coastguard Worker var normalized []normalizedInstall 144*333d2b36SAndroid Build Coastguard Worker for _, install := range installs { 145*333d2b36SAndroid Build Coastguard Worker normalized = append(normalized, normalizedInstall{ 146*333d2b36SAndroid Build Coastguard Worker from: install.From.RelativeToTop().String(), 147*333d2b36SAndroid Build Coastguard Worker to: install.To, 148*333d2b36SAndroid Build Coastguard Worker }) 149*333d2b36SAndroid Build Coastguard Worker } 150*333d2b36SAndroid Build Coastguard Worker return normalized 151*333d2b36SAndroid Build Coastguard Worker} 152*333d2b36SAndroid Build Coastguard Worker 153*333d2b36SAndroid Build Coastguard Worker// assertInstallsEqual normalized the android.RuleBuilderInstalls and compares against the expected 154*333d2b36SAndroid Build Coastguard Worker// normalizedInstalls. 155*333d2b36SAndroid Build Coastguard Workerfunc assertInstallsEqual(t *testing.T, message string, expected []normalizedInstall, actual android.RuleBuilderInstalls) { 156*333d2b36SAndroid Build Coastguard Worker t.Helper() 157*333d2b36SAndroid Build Coastguard Worker normalizedActual := normalizeInstalls(actual) 158*333d2b36SAndroid Build Coastguard Worker android.AssertDeepEquals(t, message, expected, normalizedActual) 159*333d2b36SAndroid Build Coastguard Worker} 160*333d2b36SAndroid Build Coastguard Worker 161*333d2b36SAndroid Build Coastguard Worker// expectedConfig encapsulates the expected properties that will be set in a bootImageConfig 162*333d2b36SAndroid Build Coastguard Worker// 163*333d2b36SAndroid Build Coastguard Worker// Each field <x> in here is compared against the corresponding field <x> in bootImageConfig. 164*333d2b36SAndroid Build Coastguard Workertype expectedConfig struct { 165*333d2b36SAndroid Build Coastguard Worker name string 166*333d2b36SAndroid Build Coastguard Worker stem string 167*333d2b36SAndroid Build Coastguard Worker dir string 168*333d2b36SAndroid Build Coastguard Worker symbolsDir string 169*333d2b36SAndroid Build Coastguard Worker installDir string 170*333d2b36SAndroid Build Coastguard Worker profileInstallPathInApex string 171*333d2b36SAndroid Build Coastguard Worker modules android.ConfiguredJarList 172*333d2b36SAndroid Build Coastguard Worker dexPaths []string 173*333d2b36SAndroid Build Coastguard Worker dexPathsDeps []string 174*333d2b36SAndroid Build Coastguard Worker zip string 175*333d2b36SAndroid Build Coastguard Worker variants []*expectedVariant 176*333d2b36SAndroid Build Coastguard Worker 177*333d2b36SAndroid Build Coastguard Worker // Mutated fields 178*333d2b36SAndroid Build Coastguard Worker profileInstalls []normalizedInstall 179*333d2b36SAndroid Build Coastguard Worker profileLicenseMetadataFile string 180*333d2b36SAndroid Build Coastguard Worker} 181*333d2b36SAndroid Build Coastguard Worker 182*333d2b36SAndroid Build Coastguard Worker// expectedVariant encapsulates the expected properties that will be set in a bootImageVariant 183*333d2b36SAndroid Build Coastguard Worker// 184*333d2b36SAndroid Build Coastguard Worker// Each field <x> in here is compared against the corresponding field <x> in bootImageVariant 185*333d2b36SAndroid Build Coastguard Worker// except for archType which is compared against the target.Arch.ArchType field in bootImageVariant. 186*333d2b36SAndroid Build Coastguard Workertype expectedVariant struct { 187*333d2b36SAndroid Build Coastguard Worker archType android.ArchType 188*333d2b36SAndroid Build Coastguard Worker dexLocations []string 189*333d2b36SAndroid Build Coastguard Worker dexLocationsDeps []string 190*333d2b36SAndroid Build Coastguard Worker imagePathOnHost string 191*333d2b36SAndroid Build Coastguard Worker imagePathOnDevice string 192*333d2b36SAndroid Build Coastguard Worker imagesDeps []string 193*333d2b36SAndroid Build Coastguard Worker baseImages []string 194*333d2b36SAndroid Build Coastguard Worker baseImagesDeps []string 195*333d2b36SAndroid Build Coastguard Worker 196*333d2b36SAndroid Build Coastguard Worker // Mutated fields 197*333d2b36SAndroid Build Coastguard Worker installs []normalizedInstall 198*333d2b36SAndroid Build Coastguard Worker vdexInstalls []normalizedInstall 199*333d2b36SAndroid Build Coastguard Worker unstrippedInstalls []normalizedInstall 200*333d2b36SAndroid Build Coastguard Worker licenseMetadataFile string 201*333d2b36SAndroid Build Coastguard Worker} 202*333d2b36SAndroid Build Coastguard Worker 203*333d2b36SAndroid Build Coastguard Worker// CheckArtBootImageConfig checks the status of the fields of the bootImageConfig and 204*333d2b36SAndroid Build Coastguard Worker// bootImageVariant structures that are returned from artBootImageConfig. 205*333d2b36SAndroid Build Coastguard Worker// 206*333d2b36SAndroid Build Coastguard Worker// This is before any fields are mutated. 207*333d2b36SAndroid Build Coastguard Workerfunc CheckArtBootImageConfig(t *testing.T, result *android.TestResult) { 208*333d2b36SAndroid Build Coastguard Worker checkArtBootImageConfig(t, result, false, "") 209*333d2b36SAndroid Build Coastguard Worker} 210*333d2b36SAndroid Build Coastguard Worker 211*333d2b36SAndroid Build Coastguard Worker// getArtImageConfig gets the ART bootImageConfig that was created during the test. 212*333d2b36SAndroid Build Coastguard Workerfunc getArtImageConfig(result *android.TestResult) *bootImageConfig { 213*333d2b36SAndroid Build Coastguard Worker pathCtx := &android.TestPathContext{TestResult: result} 214*333d2b36SAndroid Build Coastguard Worker imageConfig := genBootImageConfigs(pathCtx)["art"] 215*333d2b36SAndroid Build Coastguard Worker return imageConfig 216*333d2b36SAndroid Build Coastguard Worker} 217*333d2b36SAndroid Build Coastguard Worker 218*333d2b36SAndroid Build Coastguard Worker// checkArtBootImageConfig checks the ART boot image. 219*333d2b36SAndroid Build Coastguard Worker// 220*333d2b36SAndroid Build Coastguard Worker// mutated is true if this is called after fields in the image have been mutated by the ART 221*333d2b36SAndroid Build Coastguard Worker// bootclasspath_fragment and false otherwise. 222*333d2b36SAndroid Build Coastguard Workerfunc checkArtBootImageConfig(t *testing.T, result *android.TestResult, mutated bool, expectedLicenseMetadataFile string) { 223*333d2b36SAndroid Build Coastguard Worker imageConfig := getArtImageConfig(result) 224*333d2b36SAndroid Build Coastguard Worker 225*333d2b36SAndroid Build Coastguard Worker expected := &expectedConfig{ 226*333d2b36SAndroid Build Coastguard Worker name: "art", 227*333d2b36SAndroid Build Coastguard Worker stem: "boot", 228*333d2b36SAndroid Build Coastguard Worker dir: "out/soong/dexpreopt_arm64/dex_artjars", 229*333d2b36SAndroid Build Coastguard Worker symbolsDir: "out/soong/dexpreopt_arm64/dex_artjars_unstripped", 230*333d2b36SAndroid Build Coastguard Worker installDir: "apex/art_boot_images/javalib", 231*333d2b36SAndroid Build Coastguard Worker profileInstallPathInApex: "etc/boot-image.prof", 232*333d2b36SAndroid Build Coastguard Worker modules: android.CreateTestConfiguredJarList([]string{"com.android.art:core1", "com.android.art:core2", "platform:extra1"}), 233*333d2b36SAndroid Build Coastguard Worker dexPaths: []string{"out/soong/dexpreopt_arm64/dex_artjars_input/core1.jar", "out/soong/dexpreopt_arm64/dex_artjars_input/core2.jar", "out/soong/dexpreopt_arm64/dex_artjars_input/extra1.jar"}, 234*333d2b36SAndroid Build Coastguard Worker dexPathsDeps: []string{"out/soong/dexpreopt_arm64/dex_artjars_input/core1.jar", "out/soong/dexpreopt_arm64/dex_artjars_input/core2.jar", "out/soong/dexpreopt_arm64/dex_artjars_input/extra1.jar"}, 235*333d2b36SAndroid Build Coastguard Worker zip: "out/soong/dexpreopt_arm64/dex_artjars/art.zip", 236*333d2b36SAndroid Build Coastguard Worker variants: []*expectedVariant{ 237*333d2b36SAndroid Build Coastguard Worker { 238*333d2b36SAndroid Build Coastguard Worker archType: android.Arm64, 239*333d2b36SAndroid Build Coastguard Worker dexLocations: []string{"/apex/com.android.art/javalib/core1.jar", "/apex/com.android.art/javalib/core2.jar", "/system/framework/extra1.jar"}, 240*333d2b36SAndroid Build Coastguard Worker dexLocationsDeps: []string{"/apex/com.android.art/javalib/core1.jar", "/apex/com.android.art/javalib/core2.jar", "/system/framework/extra1.jar"}, 241*333d2b36SAndroid Build Coastguard Worker imagePathOnHost: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.art", 242*333d2b36SAndroid Build Coastguard Worker imagePathOnDevice: "/apex/art_boot_images/javalib/arm64/boot.art", 243*333d2b36SAndroid Build Coastguard Worker imagesDeps: []string{ 244*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.art", 245*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.oat", 246*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.vdex", 247*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.art", 248*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.oat", 249*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.vdex", 250*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.art", 251*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.oat", 252*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.vdex", 253*333d2b36SAndroid Build Coastguard Worker }, 254*333d2b36SAndroid Build Coastguard Worker installs: []normalizedInstall{ 255*333d2b36SAndroid Build Coastguard Worker { 256*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.art", 257*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm64/boot.art", 258*333d2b36SAndroid Build Coastguard Worker }, 259*333d2b36SAndroid Build Coastguard Worker { 260*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.oat", 261*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm64/boot.oat", 262*333d2b36SAndroid Build Coastguard Worker }, 263*333d2b36SAndroid Build Coastguard Worker { 264*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.art", 265*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm64/boot-core2.art", 266*333d2b36SAndroid Build Coastguard Worker }, 267*333d2b36SAndroid Build Coastguard Worker { 268*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.oat", 269*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm64/boot-core2.oat", 270*333d2b36SAndroid Build Coastguard Worker }, 271*333d2b36SAndroid Build Coastguard Worker { 272*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.art", 273*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm64/boot-extra1.art", 274*333d2b36SAndroid Build Coastguard Worker }, 275*333d2b36SAndroid Build Coastguard Worker { 276*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.oat", 277*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm64/boot-extra1.oat", 278*333d2b36SAndroid Build Coastguard Worker }, 279*333d2b36SAndroid Build Coastguard Worker }, 280*333d2b36SAndroid Build Coastguard Worker vdexInstalls: []normalizedInstall{ 281*333d2b36SAndroid Build Coastguard Worker { 282*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.vdex", 283*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm64/boot.vdex", 284*333d2b36SAndroid Build Coastguard Worker }, 285*333d2b36SAndroid Build Coastguard Worker { 286*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.vdex", 287*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm64/boot-core2.vdex", 288*333d2b36SAndroid Build Coastguard Worker }, 289*333d2b36SAndroid Build Coastguard Worker { 290*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.vdex", 291*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm64/boot-extra1.vdex", 292*333d2b36SAndroid Build Coastguard Worker }, 293*333d2b36SAndroid Build Coastguard Worker }, 294*333d2b36SAndroid Build Coastguard Worker unstrippedInstalls: []normalizedInstall{ 295*333d2b36SAndroid Build Coastguard Worker { 296*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm64/boot.oat", 297*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm64/boot.oat", 298*333d2b36SAndroid Build Coastguard Worker }, 299*333d2b36SAndroid Build Coastguard Worker { 300*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm64/boot-core2.oat", 301*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm64/boot-core2.oat", 302*333d2b36SAndroid Build Coastguard Worker }, 303*333d2b36SAndroid Build Coastguard Worker { 304*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm64/boot-extra1.oat", 305*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm64/boot-extra1.oat", 306*333d2b36SAndroid Build Coastguard Worker }, 307*333d2b36SAndroid Build Coastguard Worker }, 308*333d2b36SAndroid Build Coastguard Worker licenseMetadataFile: expectedLicenseMetadataFile, 309*333d2b36SAndroid Build Coastguard Worker }, 310*333d2b36SAndroid Build Coastguard Worker { 311*333d2b36SAndroid Build Coastguard Worker archType: android.Arm, 312*333d2b36SAndroid Build Coastguard Worker dexLocations: []string{"/apex/com.android.art/javalib/core1.jar", "/apex/com.android.art/javalib/core2.jar", "/system/framework/extra1.jar"}, 313*333d2b36SAndroid Build Coastguard Worker dexLocationsDeps: []string{"/apex/com.android.art/javalib/core1.jar", "/apex/com.android.art/javalib/core2.jar", "/system/framework/extra1.jar"}, 314*333d2b36SAndroid Build Coastguard Worker imagePathOnHost: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.art", 315*333d2b36SAndroid Build Coastguard Worker imagePathOnDevice: "/apex/art_boot_images/javalib/arm/boot.art", 316*333d2b36SAndroid Build Coastguard Worker imagesDeps: []string{ 317*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.art", 318*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.oat", 319*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.vdex", 320*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.art", 321*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.oat", 322*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.vdex", 323*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.art", 324*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.oat", 325*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.vdex", 326*333d2b36SAndroid Build Coastguard Worker }, 327*333d2b36SAndroid Build Coastguard Worker installs: []normalizedInstall{ 328*333d2b36SAndroid Build Coastguard Worker { 329*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.art", 330*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm/boot.art", 331*333d2b36SAndroid Build Coastguard Worker }, 332*333d2b36SAndroid Build Coastguard Worker { 333*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.oat", 334*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm/boot.oat", 335*333d2b36SAndroid Build Coastguard Worker }, 336*333d2b36SAndroid Build Coastguard Worker { 337*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.art", 338*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm/boot-core2.art", 339*333d2b36SAndroid Build Coastguard Worker }, 340*333d2b36SAndroid Build Coastguard Worker { 341*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.oat", 342*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm/boot-core2.oat", 343*333d2b36SAndroid Build Coastguard Worker }, 344*333d2b36SAndroid Build Coastguard Worker { 345*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.art", 346*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm/boot-extra1.art", 347*333d2b36SAndroid Build Coastguard Worker }, 348*333d2b36SAndroid Build Coastguard Worker { 349*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.oat", 350*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm/boot-extra1.oat", 351*333d2b36SAndroid Build Coastguard Worker }, 352*333d2b36SAndroid Build Coastguard Worker }, 353*333d2b36SAndroid Build Coastguard Worker vdexInstalls: []normalizedInstall{ 354*333d2b36SAndroid Build Coastguard Worker { 355*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.vdex", 356*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm/boot.vdex", 357*333d2b36SAndroid Build Coastguard Worker }, 358*333d2b36SAndroid Build Coastguard Worker { 359*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.vdex", 360*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm/boot-core2.vdex", 361*333d2b36SAndroid Build Coastguard Worker }, 362*333d2b36SAndroid Build Coastguard Worker { 363*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.vdex", 364*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm/boot-extra1.vdex", 365*333d2b36SAndroid Build Coastguard Worker }, 366*333d2b36SAndroid Build Coastguard Worker }, 367*333d2b36SAndroid Build Coastguard Worker unstrippedInstalls: []normalizedInstall{ 368*333d2b36SAndroid Build Coastguard Worker { 369*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm/boot.oat", 370*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm/boot.oat", 371*333d2b36SAndroid Build Coastguard Worker }, 372*333d2b36SAndroid Build Coastguard Worker { 373*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm/boot-core2.oat", 374*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm/boot-core2.oat", 375*333d2b36SAndroid Build Coastguard Worker }, 376*333d2b36SAndroid Build Coastguard Worker { 377*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm/boot-extra1.oat", 378*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/arm/boot-extra1.oat", 379*333d2b36SAndroid Build Coastguard Worker }, 380*333d2b36SAndroid Build Coastguard Worker }, 381*333d2b36SAndroid Build Coastguard Worker licenseMetadataFile: expectedLicenseMetadataFile, 382*333d2b36SAndroid Build Coastguard Worker }, 383*333d2b36SAndroid Build Coastguard Worker { 384*333d2b36SAndroid Build Coastguard Worker archType: android.X86_64, 385*333d2b36SAndroid Build Coastguard Worker dexLocations: []string{"host/linux-x86/apex/com.android.art/javalib/core1.jar", "host/linux-x86/apex/com.android.art/javalib/core2.jar", "host/linux-x86/system/framework/extra1.jar"}, 386*333d2b36SAndroid Build Coastguard Worker dexLocationsDeps: []string{"host/linux-x86/apex/com.android.art/javalib/core1.jar", "host/linux-x86/apex/com.android.art/javalib/core2.jar", "host/linux-x86/system/framework/extra1.jar"}, 387*333d2b36SAndroid Build Coastguard Worker imagePathOnHost: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.art", 388*333d2b36SAndroid Build Coastguard Worker imagePathOnDevice: "/apex/art_boot_images/javalib/x86_64/boot.art", 389*333d2b36SAndroid Build Coastguard Worker imagesDeps: []string{ 390*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.art", 391*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.oat", 392*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.vdex", 393*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.art", 394*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.oat", 395*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.vdex", 396*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.art", 397*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.oat", 398*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.vdex", 399*333d2b36SAndroid Build Coastguard Worker }, 400*333d2b36SAndroid Build Coastguard Worker installs: []normalizedInstall{ 401*333d2b36SAndroid Build Coastguard Worker { 402*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.art", 403*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86_64/boot.art", 404*333d2b36SAndroid Build Coastguard Worker }, { 405*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.oat", 406*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86_64/boot.oat", 407*333d2b36SAndroid Build Coastguard Worker }, 408*333d2b36SAndroid Build Coastguard Worker { 409*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.art", 410*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86_64/boot-core2.art", 411*333d2b36SAndroid Build Coastguard Worker }, { 412*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.oat", 413*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86_64/boot-core2.oat", 414*333d2b36SAndroid Build Coastguard Worker }, 415*333d2b36SAndroid Build Coastguard Worker { 416*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.art", 417*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86_64/boot-extra1.art", 418*333d2b36SAndroid Build Coastguard Worker }, { 419*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.oat", 420*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86_64/boot-extra1.oat", 421*333d2b36SAndroid Build Coastguard Worker }, 422*333d2b36SAndroid Build Coastguard Worker }, 423*333d2b36SAndroid Build Coastguard Worker vdexInstalls: []normalizedInstall{ 424*333d2b36SAndroid Build Coastguard Worker { 425*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.vdex", 426*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86_64/boot.vdex", 427*333d2b36SAndroid Build Coastguard Worker }, 428*333d2b36SAndroid Build Coastguard Worker { 429*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.vdex", 430*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86_64/boot-core2.vdex", 431*333d2b36SAndroid Build Coastguard Worker }, 432*333d2b36SAndroid Build Coastguard Worker { 433*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.vdex", 434*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86_64/boot-extra1.vdex", 435*333d2b36SAndroid Build Coastguard Worker }, 436*333d2b36SAndroid Build Coastguard Worker }, 437*333d2b36SAndroid Build Coastguard Worker unstrippedInstalls: []normalizedInstall{ 438*333d2b36SAndroid Build Coastguard Worker { 439*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.oat", 440*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86_64/boot.oat", 441*333d2b36SAndroid Build Coastguard Worker }, 442*333d2b36SAndroid Build Coastguard Worker { 443*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.oat", 444*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86_64/boot-core2.oat", 445*333d2b36SAndroid Build Coastguard Worker }, 446*333d2b36SAndroid Build Coastguard Worker { 447*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.oat", 448*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86_64/boot-extra1.oat", 449*333d2b36SAndroid Build Coastguard Worker }, 450*333d2b36SAndroid Build Coastguard Worker }, 451*333d2b36SAndroid Build Coastguard Worker licenseMetadataFile: expectedLicenseMetadataFile, 452*333d2b36SAndroid Build Coastguard Worker }, 453*333d2b36SAndroid Build Coastguard Worker { 454*333d2b36SAndroid Build Coastguard Worker archType: android.X86, 455*333d2b36SAndroid Build Coastguard Worker dexLocations: []string{"host/linux-x86/apex/com.android.art/javalib/core1.jar", "host/linux-x86/apex/com.android.art/javalib/core2.jar", "host/linux-x86/system/framework/extra1.jar"}, 456*333d2b36SAndroid Build Coastguard Worker dexLocationsDeps: []string{"host/linux-x86/apex/com.android.art/javalib/core1.jar", "host/linux-x86/apex/com.android.art/javalib/core2.jar", "host/linux-x86/system/framework/extra1.jar"}, 457*333d2b36SAndroid Build Coastguard Worker imagePathOnHost: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.art", 458*333d2b36SAndroid Build Coastguard Worker imagePathOnDevice: "/apex/art_boot_images/javalib/x86/boot.art", 459*333d2b36SAndroid Build Coastguard Worker imagesDeps: []string{ 460*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.art", 461*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.oat", 462*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.vdex", 463*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.art", 464*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.oat", 465*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.vdex", 466*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.art", 467*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.oat", 468*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.vdex", 469*333d2b36SAndroid Build Coastguard Worker }, 470*333d2b36SAndroid Build Coastguard Worker installs: []normalizedInstall{ 471*333d2b36SAndroid Build Coastguard Worker { 472*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.art", 473*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86/boot.art", 474*333d2b36SAndroid Build Coastguard Worker }, { 475*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.oat", 476*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86/boot.oat", 477*333d2b36SAndroid Build Coastguard Worker }, 478*333d2b36SAndroid Build Coastguard Worker { 479*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.art", 480*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86/boot-core2.art", 481*333d2b36SAndroid Build Coastguard Worker }, { 482*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.oat", 483*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86/boot-core2.oat", 484*333d2b36SAndroid Build Coastguard Worker }, 485*333d2b36SAndroid Build Coastguard Worker { 486*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.art", 487*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86/boot-extra1.art", 488*333d2b36SAndroid Build Coastguard Worker }, { 489*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.oat", 490*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86/boot-extra1.oat", 491*333d2b36SAndroid Build Coastguard Worker }, 492*333d2b36SAndroid Build Coastguard Worker }, 493*333d2b36SAndroid Build Coastguard Worker vdexInstalls: []normalizedInstall{ 494*333d2b36SAndroid Build Coastguard Worker { 495*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.vdex", 496*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86/boot.vdex", 497*333d2b36SAndroid Build Coastguard Worker }, 498*333d2b36SAndroid Build Coastguard Worker { 499*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.vdex", 500*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86/boot-core2.vdex", 501*333d2b36SAndroid Build Coastguard Worker }, 502*333d2b36SAndroid Build Coastguard Worker { 503*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.vdex", 504*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86/boot-extra1.vdex", 505*333d2b36SAndroid Build Coastguard Worker }, 506*333d2b36SAndroid Build Coastguard Worker }, 507*333d2b36SAndroid Build Coastguard Worker unstrippedInstalls: []normalizedInstall{ 508*333d2b36SAndroid Build Coastguard Worker { 509*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86/boot.oat", 510*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86/boot.oat", 511*333d2b36SAndroid Build Coastguard Worker }, 512*333d2b36SAndroid Build Coastguard Worker { 513*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.oat", 514*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86/boot-core2.oat", 515*333d2b36SAndroid Build Coastguard Worker }, 516*333d2b36SAndroid Build Coastguard Worker { 517*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.oat", 518*333d2b36SAndroid Build Coastguard Worker to: "/apex/art_boot_images/javalib/x86/boot-extra1.oat", 519*333d2b36SAndroid Build Coastguard Worker }, 520*333d2b36SAndroid Build Coastguard Worker }, 521*333d2b36SAndroid Build Coastguard Worker licenseMetadataFile: expectedLicenseMetadataFile, 522*333d2b36SAndroid Build Coastguard Worker }, 523*333d2b36SAndroid Build Coastguard Worker }, 524*333d2b36SAndroid Build Coastguard Worker } 525*333d2b36SAndroid Build Coastguard Worker 526*333d2b36SAndroid Build Coastguard Worker checkBootImageConfig(t, result, imageConfig, mutated, expected) 527*333d2b36SAndroid Build Coastguard Worker} 528*333d2b36SAndroid Build Coastguard Worker 529*333d2b36SAndroid Build Coastguard Worker// getFrameworkImageConfig gets the framework bootImageConfig that was created during the test. 530*333d2b36SAndroid Build Coastguard Workerfunc getFrameworkImageConfig(result *android.TestResult) *bootImageConfig { 531*333d2b36SAndroid Build Coastguard Worker pathCtx := &android.TestPathContext{TestResult: result} 532*333d2b36SAndroid Build Coastguard Worker imageConfig := defaultBootImageConfig(pathCtx) 533*333d2b36SAndroid Build Coastguard Worker return imageConfig 534*333d2b36SAndroid Build Coastguard Worker} 535*333d2b36SAndroid Build Coastguard Worker 536*333d2b36SAndroid Build Coastguard Worker// CheckFrameworkBootImageConfig checks the status of the fields of the bootImageConfig and 537*333d2b36SAndroid Build Coastguard Worker// bootImageVariant structures that are returned from defaultBootImageConfig. 538*333d2b36SAndroid Build Coastguard Worker// 539*333d2b36SAndroid Build Coastguard Worker// This is before any fields are mutated. 540*333d2b36SAndroid Build Coastguard Workerfunc CheckFrameworkBootImageConfig(t *testing.T, result *android.TestResult) { 541*333d2b36SAndroid Build Coastguard Worker checkFrameworkBootImageConfig(t, result, false, "") 542*333d2b36SAndroid Build Coastguard Worker} 543*333d2b36SAndroid Build Coastguard Worker 544*333d2b36SAndroid Build Coastguard Worker// checkFrameworkBootImageConfig checks the framework boot image. 545*333d2b36SAndroid Build Coastguard Worker// 546*333d2b36SAndroid Build Coastguard Worker// mutated is true if this is called after fields in the image have been mutated by the 547*333d2b36SAndroid Build Coastguard Worker// platform_bootclasspath and false otherwise. 548*333d2b36SAndroid Build Coastguard Workerfunc checkFrameworkBootImageConfig(t *testing.T, result *android.TestResult, mutated bool, expectedLicenseMetadataFile string) { 549*333d2b36SAndroid Build Coastguard Worker imageConfig := getFrameworkImageConfig(result) 550*333d2b36SAndroid Build Coastguard Worker 551*333d2b36SAndroid Build Coastguard Worker expected := &expectedConfig{ 552*333d2b36SAndroid Build Coastguard Worker name: "boot", 553*333d2b36SAndroid Build Coastguard Worker stem: "boot", 554*333d2b36SAndroid Build Coastguard Worker dir: "out/soong/dexpreopt_arm64/dex_bootjars", 555*333d2b36SAndroid Build Coastguard Worker symbolsDir: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped", 556*333d2b36SAndroid Build Coastguard Worker installDir: "system/framework", 557*333d2b36SAndroid Build Coastguard Worker profileInstallPathInApex: "", 558*333d2b36SAndroid Build Coastguard Worker modules: android.CreateTestConfiguredJarList([]string{ 559*333d2b36SAndroid Build Coastguard Worker "com.android.art:core1", 560*333d2b36SAndroid Build Coastguard Worker "com.android.art:core2", 561*333d2b36SAndroid Build Coastguard Worker "platform:framework", 562*333d2b36SAndroid Build Coastguard Worker }), 563*333d2b36SAndroid Build Coastguard Worker dexPaths: []string{ 564*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars_input/core1.jar", 565*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars_input/core2.jar", 566*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars_input/framework.jar", 567*333d2b36SAndroid Build Coastguard Worker }, 568*333d2b36SAndroid Build Coastguard Worker dexPathsDeps: []string{ 569*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars_input/core1.jar", 570*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars_input/core2.jar", 571*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars_input/framework.jar", 572*333d2b36SAndroid Build Coastguard Worker }, 573*333d2b36SAndroid Build Coastguard Worker zip: "out/soong/dexpreopt_arm64/dex_bootjars/boot.zip", 574*333d2b36SAndroid Build Coastguard Worker variants: []*expectedVariant{ 575*333d2b36SAndroid Build Coastguard Worker { 576*333d2b36SAndroid Build Coastguard Worker archType: android.Arm64, 577*333d2b36SAndroid Build Coastguard Worker dexLocations: []string{ 578*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.art/javalib/core1.jar", 579*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.art/javalib/core2.jar", 580*333d2b36SAndroid Build Coastguard Worker "/system/framework/framework.jar", 581*333d2b36SAndroid Build Coastguard Worker }, 582*333d2b36SAndroid Build Coastguard Worker dexLocationsDeps: []string{ 583*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.art/javalib/core1.jar", 584*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.art/javalib/core2.jar", 585*333d2b36SAndroid Build Coastguard Worker "/system/framework/framework.jar", 586*333d2b36SAndroid Build Coastguard Worker }, 587*333d2b36SAndroid Build Coastguard Worker imagePathOnHost: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.art", 588*333d2b36SAndroid Build Coastguard Worker imagePathOnDevice: "/system/framework/arm64/boot.art", 589*333d2b36SAndroid Build Coastguard Worker imagesDeps: []string{ 590*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.art", 591*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.oat", 592*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.vdex", 593*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.art", 594*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.oat", 595*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.vdex", 596*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.art", 597*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.oat", 598*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.vdex", 599*333d2b36SAndroid Build Coastguard Worker }, 600*333d2b36SAndroid Build Coastguard Worker installs: []normalizedInstall{ 601*333d2b36SAndroid Build Coastguard Worker { 602*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.art", 603*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot.art", 604*333d2b36SAndroid Build Coastguard Worker }, 605*333d2b36SAndroid Build Coastguard Worker { 606*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.oat", 607*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot.oat", 608*333d2b36SAndroid Build Coastguard Worker }, 609*333d2b36SAndroid Build Coastguard Worker { 610*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.art", 611*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot-core2.art", 612*333d2b36SAndroid Build Coastguard Worker }, 613*333d2b36SAndroid Build Coastguard Worker { 614*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.oat", 615*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot-core2.oat", 616*333d2b36SAndroid Build Coastguard Worker }, 617*333d2b36SAndroid Build Coastguard Worker { 618*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.art", 619*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot-framework.art", 620*333d2b36SAndroid Build Coastguard Worker }, 621*333d2b36SAndroid Build Coastguard Worker { 622*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.oat", 623*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot-framework.oat", 624*333d2b36SAndroid Build Coastguard Worker }, 625*333d2b36SAndroid Build Coastguard Worker }, 626*333d2b36SAndroid Build Coastguard Worker vdexInstalls: []normalizedInstall{ 627*333d2b36SAndroid Build Coastguard Worker { 628*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.vdex", 629*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot.vdex", 630*333d2b36SAndroid Build Coastguard Worker }, 631*333d2b36SAndroid Build Coastguard Worker { 632*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.vdex", 633*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot-core2.vdex", 634*333d2b36SAndroid Build Coastguard Worker }, 635*333d2b36SAndroid Build Coastguard Worker { 636*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.vdex", 637*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot-framework.vdex", 638*333d2b36SAndroid Build Coastguard Worker }, 639*333d2b36SAndroid Build Coastguard Worker }, 640*333d2b36SAndroid Build Coastguard Worker unstrippedInstalls: []normalizedInstall{ 641*333d2b36SAndroid Build Coastguard Worker { 642*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm64/boot.oat", 643*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot.oat", 644*333d2b36SAndroid Build Coastguard Worker }, 645*333d2b36SAndroid Build Coastguard Worker { 646*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm64/boot-core2.oat", 647*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot-core2.oat", 648*333d2b36SAndroid Build Coastguard Worker }, 649*333d2b36SAndroid Build Coastguard Worker { 650*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm64/boot-framework.oat", 651*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot-framework.oat", 652*333d2b36SAndroid Build Coastguard Worker }, 653*333d2b36SAndroid Build Coastguard Worker }, 654*333d2b36SAndroid Build Coastguard Worker licenseMetadataFile: expectedLicenseMetadataFile, 655*333d2b36SAndroid Build Coastguard Worker }, 656*333d2b36SAndroid Build Coastguard Worker { 657*333d2b36SAndroid Build Coastguard Worker archType: android.Arm, 658*333d2b36SAndroid Build Coastguard Worker dexLocations: []string{ 659*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.art/javalib/core1.jar", 660*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.art/javalib/core2.jar", 661*333d2b36SAndroid Build Coastguard Worker "/system/framework/framework.jar", 662*333d2b36SAndroid Build Coastguard Worker }, 663*333d2b36SAndroid Build Coastguard Worker dexLocationsDeps: []string{ 664*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.art/javalib/core1.jar", 665*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.art/javalib/core2.jar", 666*333d2b36SAndroid Build Coastguard Worker "/system/framework/framework.jar", 667*333d2b36SAndroid Build Coastguard Worker }, 668*333d2b36SAndroid Build Coastguard Worker imagePathOnHost: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.art", 669*333d2b36SAndroid Build Coastguard Worker imagePathOnDevice: "/system/framework/arm/boot.art", 670*333d2b36SAndroid Build Coastguard Worker imagesDeps: []string{ 671*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.art", 672*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.oat", 673*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.vdex", 674*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.art", 675*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.oat", 676*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.vdex", 677*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.art", 678*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.oat", 679*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.vdex", 680*333d2b36SAndroid Build Coastguard Worker }, 681*333d2b36SAndroid Build Coastguard Worker installs: []normalizedInstall{ 682*333d2b36SAndroid Build Coastguard Worker { 683*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.art", 684*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot.art", 685*333d2b36SAndroid Build Coastguard Worker }, 686*333d2b36SAndroid Build Coastguard Worker { 687*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.oat", 688*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot.oat", 689*333d2b36SAndroid Build Coastguard Worker }, 690*333d2b36SAndroid Build Coastguard Worker { 691*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.art", 692*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot-core2.art", 693*333d2b36SAndroid Build Coastguard Worker }, 694*333d2b36SAndroid Build Coastguard Worker { 695*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.oat", 696*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot-core2.oat", 697*333d2b36SAndroid Build Coastguard Worker }, 698*333d2b36SAndroid Build Coastguard Worker { 699*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.art", 700*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot-framework.art", 701*333d2b36SAndroid Build Coastguard Worker }, 702*333d2b36SAndroid Build Coastguard Worker { 703*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.oat", 704*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot-framework.oat", 705*333d2b36SAndroid Build Coastguard Worker }, 706*333d2b36SAndroid Build Coastguard Worker }, 707*333d2b36SAndroid Build Coastguard Worker vdexInstalls: []normalizedInstall{ 708*333d2b36SAndroid Build Coastguard Worker { 709*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.vdex", 710*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot.vdex", 711*333d2b36SAndroid Build Coastguard Worker }, 712*333d2b36SAndroid Build Coastguard Worker { 713*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.vdex", 714*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot-core2.vdex", 715*333d2b36SAndroid Build Coastguard Worker }, 716*333d2b36SAndroid Build Coastguard Worker { 717*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.vdex", 718*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot-framework.vdex", 719*333d2b36SAndroid Build Coastguard Worker }, 720*333d2b36SAndroid Build Coastguard Worker }, 721*333d2b36SAndroid Build Coastguard Worker unstrippedInstalls: []normalizedInstall{ 722*333d2b36SAndroid Build Coastguard Worker { 723*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm/boot.oat", 724*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot.oat", 725*333d2b36SAndroid Build Coastguard Worker }, 726*333d2b36SAndroid Build Coastguard Worker { 727*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm/boot-core2.oat", 728*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot-core2.oat", 729*333d2b36SAndroid Build Coastguard Worker }, 730*333d2b36SAndroid Build Coastguard Worker { 731*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm/boot-framework.oat", 732*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot-framework.oat", 733*333d2b36SAndroid Build Coastguard Worker }, 734*333d2b36SAndroid Build Coastguard Worker }, 735*333d2b36SAndroid Build Coastguard Worker licenseMetadataFile: expectedLicenseMetadataFile, 736*333d2b36SAndroid Build Coastguard Worker }, 737*333d2b36SAndroid Build Coastguard Worker { 738*333d2b36SAndroid Build Coastguard Worker archType: android.X86_64, 739*333d2b36SAndroid Build Coastguard Worker dexLocations: []string{ 740*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.art/javalib/core1.jar", 741*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.art/javalib/core2.jar", 742*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/system/framework/framework.jar", 743*333d2b36SAndroid Build Coastguard Worker }, 744*333d2b36SAndroid Build Coastguard Worker dexLocationsDeps: []string{ 745*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.art/javalib/core1.jar", 746*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.art/javalib/core2.jar", 747*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/system/framework/framework.jar", 748*333d2b36SAndroid Build Coastguard Worker }, 749*333d2b36SAndroid Build Coastguard Worker imagePathOnHost: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.art", 750*333d2b36SAndroid Build Coastguard Worker imagePathOnDevice: "/system/framework/x86_64/boot.art", 751*333d2b36SAndroid Build Coastguard Worker imagesDeps: []string{ 752*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.art", 753*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.oat", 754*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.vdex", 755*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.art", 756*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.oat", 757*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.vdex", 758*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.art", 759*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.oat", 760*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.vdex", 761*333d2b36SAndroid Build Coastguard Worker }, 762*333d2b36SAndroid Build Coastguard Worker installs: []normalizedInstall{ 763*333d2b36SAndroid Build Coastguard Worker { 764*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.art", 765*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot.art", 766*333d2b36SAndroid Build Coastguard Worker }, 767*333d2b36SAndroid Build Coastguard Worker { 768*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.oat", 769*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot.oat", 770*333d2b36SAndroid Build Coastguard Worker }, 771*333d2b36SAndroid Build Coastguard Worker { 772*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.art", 773*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot-core2.art", 774*333d2b36SAndroid Build Coastguard Worker }, 775*333d2b36SAndroid Build Coastguard Worker { 776*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.oat", 777*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot-core2.oat", 778*333d2b36SAndroid Build Coastguard Worker }, 779*333d2b36SAndroid Build Coastguard Worker { 780*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.art", 781*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot-framework.art", 782*333d2b36SAndroid Build Coastguard Worker }, 783*333d2b36SAndroid Build Coastguard Worker { 784*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.oat", 785*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot-framework.oat", 786*333d2b36SAndroid Build Coastguard Worker }, 787*333d2b36SAndroid Build Coastguard Worker }, 788*333d2b36SAndroid Build Coastguard Worker vdexInstalls: []normalizedInstall{ 789*333d2b36SAndroid Build Coastguard Worker { 790*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.vdex", 791*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot.vdex", 792*333d2b36SAndroid Build Coastguard Worker }, 793*333d2b36SAndroid Build Coastguard Worker { 794*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.vdex", 795*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot-core2.vdex", 796*333d2b36SAndroid Build Coastguard Worker }, 797*333d2b36SAndroid Build Coastguard Worker { 798*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.vdex", 799*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot-framework.vdex", 800*333d2b36SAndroid Build Coastguard Worker }, 801*333d2b36SAndroid Build Coastguard Worker }, 802*333d2b36SAndroid Build Coastguard Worker unstrippedInstalls: []normalizedInstall{ 803*333d2b36SAndroid Build Coastguard Worker { 804*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86_64/boot.oat", 805*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot.oat", 806*333d2b36SAndroid Build Coastguard Worker }, 807*333d2b36SAndroid Build Coastguard Worker { 808*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86_64/boot-core2.oat", 809*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot-core2.oat", 810*333d2b36SAndroid Build Coastguard Worker }, 811*333d2b36SAndroid Build Coastguard Worker { 812*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86_64/boot-framework.oat", 813*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot-framework.oat", 814*333d2b36SAndroid Build Coastguard Worker }, 815*333d2b36SAndroid Build Coastguard Worker }, 816*333d2b36SAndroid Build Coastguard Worker licenseMetadataFile: expectedLicenseMetadataFile, 817*333d2b36SAndroid Build Coastguard Worker }, 818*333d2b36SAndroid Build Coastguard Worker { 819*333d2b36SAndroid Build Coastguard Worker archType: android.X86, 820*333d2b36SAndroid Build Coastguard Worker dexLocations: []string{ 821*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.art/javalib/core1.jar", 822*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.art/javalib/core2.jar", 823*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/system/framework/framework.jar", 824*333d2b36SAndroid Build Coastguard Worker }, 825*333d2b36SAndroid Build Coastguard Worker dexLocationsDeps: []string{ 826*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.art/javalib/core1.jar", 827*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.art/javalib/core2.jar", 828*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/system/framework/framework.jar", 829*333d2b36SAndroid Build Coastguard Worker }, 830*333d2b36SAndroid Build Coastguard Worker imagePathOnHost: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.art", 831*333d2b36SAndroid Build Coastguard Worker imagePathOnDevice: "/system/framework/x86/boot.art", 832*333d2b36SAndroid Build Coastguard Worker imagesDeps: []string{ 833*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.art", 834*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.oat", 835*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.vdex", 836*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.art", 837*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.oat", 838*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.vdex", 839*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.art", 840*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.oat", 841*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.vdex", 842*333d2b36SAndroid Build Coastguard Worker }, 843*333d2b36SAndroid Build Coastguard Worker installs: []normalizedInstall{ 844*333d2b36SAndroid Build Coastguard Worker { 845*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.art", 846*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot.art", 847*333d2b36SAndroid Build Coastguard Worker }, 848*333d2b36SAndroid Build Coastguard Worker { 849*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.oat", 850*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot.oat", 851*333d2b36SAndroid Build Coastguard Worker }, 852*333d2b36SAndroid Build Coastguard Worker { 853*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.art", 854*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot-core2.art", 855*333d2b36SAndroid Build Coastguard Worker }, 856*333d2b36SAndroid Build Coastguard Worker { 857*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.oat", 858*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot-core2.oat", 859*333d2b36SAndroid Build Coastguard Worker }, 860*333d2b36SAndroid Build Coastguard Worker { 861*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.art", 862*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot-framework.art", 863*333d2b36SAndroid Build Coastguard Worker }, 864*333d2b36SAndroid Build Coastguard Worker { 865*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.oat", 866*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot-framework.oat", 867*333d2b36SAndroid Build Coastguard Worker }, 868*333d2b36SAndroid Build Coastguard Worker }, 869*333d2b36SAndroid Build Coastguard Worker vdexInstalls: []normalizedInstall{ 870*333d2b36SAndroid Build Coastguard Worker { 871*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.vdex", 872*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot.vdex", 873*333d2b36SAndroid Build Coastguard Worker }, 874*333d2b36SAndroid Build Coastguard Worker { 875*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.vdex", 876*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot-core2.vdex", 877*333d2b36SAndroid Build Coastguard Worker }, 878*333d2b36SAndroid Build Coastguard Worker { 879*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.vdex", 880*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot-framework.vdex", 881*333d2b36SAndroid Build Coastguard Worker }, 882*333d2b36SAndroid Build Coastguard Worker }, 883*333d2b36SAndroid Build Coastguard Worker unstrippedInstalls: []normalizedInstall{ 884*333d2b36SAndroid Build Coastguard Worker { 885*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86/boot.oat", 886*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot.oat", 887*333d2b36SAndroid Build Coastguard Worker }, 888*333d2b36SAndroid Build Coastguard Worker { 889*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86/boot-core2.oat", 890*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot-core2.oat", 891*333d2b36SAndroid Build Coastguard Worker }, 892*333d2b36SAndroid Build Coastguard Worker { 893*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86/boot-framework.oat", 894*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot-framework.oat", 895*333d2b36SAndroid Build Coastguard Worker }, 896*333d2b36SAndroid Build Coastguard Worker }, 897*333d2b36SAndroid Build Coastguard Worker licenseMetadataFile: expectedLicenseMetadataFile, 898*333d2b36SAndroid Build Coastguard Worker }, 899*333d2b36SAndroid Build Coastguard Worker }, 900*333d2b36SAndroid Build Coastguard Worker profileInstalls: []normalizedInstall{ 901*333d2b36SAndroid Build Coastguard Worker {from: "out/soong/.intermediates/default/java/dex_bootjars/android_common/boot/boot.prof", to: "/system/etc/boot-image.prof"}, 902*333d2b36SAndroid Build Coastguard Worker {from: "out/soong/dexpreopt_arm64/dex_bootjars/boot.bprof", to: "/system/etc/boot-image.bprof"}, 903*333d2b36SAndroid Build Coastguard Worker }, 904*333d2b36SAndroid Build Coastguard Worker profileLicenseMetadataFile: expectedLicenseMetadataFile, 905*333d2b36SAndroid Build Coastguard Worker } 906*333d2b36SAndroid Build Coastguard Worker 907*333d2b36SAndroid Build Coastguard Worker checkBootImageConfig(t, result, imageConfig, mutated, expected) 908*333d2b36SAndroid Build Coastguard Worker} 909*333d2b36SAndroid Build Coastguard Worker 910*333d2b36SAndroid Build Coastguard Worker// getMainlineImageConfig gets the framework bootImageConfig that was created during the test. 911*333d2b36SAndroid Build Coastguard Workerfunc getMainlineImageConfig(result *android.TestResult) *bootImageConfig { 912*333d2b36SAndroid Build Coastguard Worker pathCtx := &android.TestPathContext{TestResult: result} 913*333d2b36SAndroid Build Coastguard Worker imageConfig := mainlineBootImageConfig(pathCtx) 914*333d2b36SAndroid Build Coastguard Worker return imageConfig 915*333d2b36SAndroid Build Coastguard Worker} 916*333d2b36SAndroid Build Coastguard Worker 917*333d2b36SAndroid Build Coastguard Worker// CheckMainlineBootImageConfig checks the status of the fields of the bootImageConfig and 918*333d2b36SAndroid Build Coastguard Worker// bootImageVariant structures that are returned from mainlineBootImageConfig. 919*333d2b36SAndroid Build Coastguard Worker// 920*333d2b36SAndroid Build Coastguard Worker// This is before any fields are mutated. 921*333d2b36SAndroid Build Coastguard Workerfunc CheckMainlineBootImageConfig(t *testing.T, result *android.TestResult) { 922*333d2b36SAndroid Build Coastguard Worker expectedLicenseMetadataFile := "" 923*333d2b36SAndroid Build Coastguard Worker imageConfig := getMainlineImageConfig(result) 924*333d2b36SAndroid Build Coastguard Worker 925*333d2b36SAndroid Build Coastguard Worker expected := &expectedConfig{ 926*333d2b36SAndroid Build Coastguard Worker name: "mainline", 927*333d2b36SAndroid Build Coastguard Worker stem: "boot", 928*333d2b36SAndroid Build Coastguard Worker dir: "out/soong/dexpreopt_arm64/dex_mainlinejars", 929*333d2b36SAndroid Build Coastguard Worker symbolsDir: "out/soong/dexpreopt_arm64/dex_mainlinejars_unstripped", 930*333d2b36SAndroid Build Coastguard Worker installDir: "system/framework", 931*333d2b36SAndroid Build Coastguard Worker profileInstallPathInApex: "", 932*333d2b36SAndroid Build Coastguard Worker modules: android.CreateTestConfiguredJarList([]string{ 933*333d2b36SAndroid Build Coastguard Worker "com.android.foo:framework-foo", 934*333d2b36SAndroid Build Coastguard Worker "com.android.bar:framework-bar", 935*333d2b36SAndroid Build Coastguard Worker }), 936*333d2b36SAndroid Build Coastguard Worker dexPaths: []string{ 937*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-foo.jar", 938*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-bar.jar", 939*333d2b36SAndroid Build Coastguard Worker }, 940*333d2b36SAndroid Build Coastguard Worker dexPathsDeps: []string{ 941*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars_input/core1.jar", 942*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars_input/core2.jar", 943*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars_input/framework.jar", 944*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-foo.jar", 945*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-bar.jar", 946*333d2b36SAndroid Build Coastguard Worker }, 947*333d2b36SAndroid Build Coastguard Worker zip: "out/soong/dexpreopt_arm64/dex_mainlinejars/mainline.zip", 948*333d2b36SAndroid Build Coastguard Worker variants: []*expectedVariant{ 949*333d2b36SAndroid Build Coastguard Worker { 950*333d2b36SAndroid Build Coastguard Worker archType: android.Arm64, 951*333d2b36SAndroid Build Coastguard Worker dexLocations: []string{ 952*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.foo/javalib/framework-foo.jar", 953*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.bar/javalib/framework-bar.jar", 954*333d2b36SAndroid Build Coastguard Worker }, 955*333d2b36SAndroid Build Coastguard Worker dexLocationsDeps: []string{ 956*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.art/javalib/core1.jar", 957*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.art/javalib/core2.jar", 958*333d2b36SAndroid Build Coastguard Worker "/system/framework/framework.jar", 959*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.foo/javalib/framework-foo.jar", 960*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.bar/javalib/framework-bar.jar", 961*333d2b36SAndroid Build Coastguard Worker }, 962*333d2b36SAndroid Build Coastguard Worker imagePathOnHost: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.art", 963*333d2b36SAndroid Build Coastguard Worker imagePathOnDevice: "/system/framework/arm64/boot-framework-foo.art", 964*333d2b36SAndroid Build Coastguard Worker imagesDeps: []string{ 965*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.art", 966*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.oat", 967*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.vdex", 968*333d2b36SAndroid Build Coastguard Worker }, 969*333d2b36SAndroid Build Coastguard Worker baseImages: []string{ 970*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.art", 971*333d2b36SAndroid Build Coastguard Worker }, 972*333d2b36SAndroid Build Coastguard Worker baseImagesDeps: []string{ 973*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.art", 974*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.oat", 975*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.vdex", 976*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.art", 977*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.oat", 978*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.vdex", 979*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.art", 980*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.oat", 981*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.vdex", 982*333d2b36SAndroid Build Coastguard Worker }, 983*333d2b36SAndroid Build Coastguard Worker installs: []normalizedInstall{ 984*333d2b36SAndroid Build Coastguard Worker { 985*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.art", 986*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot-framework-foo.art", 987*333d2b36SAndroid Build Coastguard Worker }, 988*333d2b36SAndroid Build Coastguard Worker { 989*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.oat", 990*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot-framework-foo.oat", 991*333d2b36SAndroid Build Coastguard Worker }, 992*333d2b36SAndroid Build Coastguard Worker }, 993*333d2b36SAndroid Build Coastguard Worker vdexInstalls: []normalizedInstall{ 994*333d2b36SAndroid Build Coastguard Worker { 995*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.vdex", 996*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot-framework-foo.vdex", 997*333d2b36SAndroid Build Coastguard Worker }, 998*333d2b36SAndroid Build Coastguard Worker }, 999*333d2b36SAndroid Build Coastguard Worker unstrippedInstalls: []normalizedInstall{ 1000*333d2b36SAndroid Build Coastguard Worker { 1001*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars_unstripped/android/system/framework/arm64/boot-framework-foo.oat", 1002*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm64/boot-framework-foo.oat", 1003*333d2b36SAndroid Build Coastguard Worker }, 1004*333d2b36SAndroid Build Coastguard Worker }, 1005*333d2b36SAndroid Build Coastguard Worker licenseMetadataFile: expectedLicenseMetadataFile, 1006*333d2b36SAndroid Build Coastguard Worker }, 1007*333d2b36SAndroid Build Coastguard Worker { 1008*333d2b36SAndroid Build Coastguard Worker archType: android.Arm, 1009*333d2b36SAndroid Build Coastguard Worker dexLocations: []string{ 1010*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.foo/javalib/framework-foo.jar", 1011*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.bar/javalib/framework-bar.jar", 1012*333d2b36SAndroid Build Coastguard Worker }, 1013*333d2b36SAndroid Build Coastguard Worker dexLocationsDeps: []string{ 1014*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.art/javalib/core1.jar", 1015*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.art/javalib/core2.jar", 1016*333d2b36SAndroid Build Coastguard Worker "/system/framework/framework.jar", 1017*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.foo/javalib/framework-foo.jar", 1018*333d2b36SAndroid Build Coastguard Worker "/apex/com.android.bar/javalib/framework-bar.jar", 1019*333d2b36SAndroid Build Coastguard Worker }, 1020*333d2b36SAndroid Build Coastguard Worker imagePathOnHost: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.art", 1021*333d2b36SAndroid Build Coastguard Worker imagePathOnDevice: "/system/framework/arm/boot-framework-foo.art", 1022*333d2b36SAndroid Build Coastguard Worker imagesDeps: []string{ 1023*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.art", 1024*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.oat", 1025*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.vdex", 1026*333d2b36SAndroid Build Coastguard Worker }, 1027*333d2b36SAndroid Build Coastguard Worker baseImages: []string{ 1028*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.art", 1029*333d2b36SAndroid Build Coastguard Worker }, 1030*333d2b36SAndroid Build Coastguard Worker baseImagesDeps: []string{ 1031*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.art", 1032*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.oat", 1033*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.vdex", 1034*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.art", 1035*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.oat", 1036*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.vdex", 1037*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.art", 1038*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.oat", 1039*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.vdex", 1040*333d2b36SAndroid Build Coastguard Worker }, 1041*333d2b36SAndroid Build Coastguard Worker installs: []normalizedInstall{ 1042*333d2b36SAndroid Build Coastguard Worker { 1043*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.art", 1044*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot-framework-foo.art", 1045*333d2b36SAndroid Build Coastguard Worker }, 1046*333d2b36SAndroid Build Coastguard Worker { 1047*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.oat", 1048*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot-framework-foo.oat", 1049*333d2b36SAndroid Build Coastguard Worker }, 1050*333d2b36SAndroid Build Coastguard Worker }, 1051*333d2b36SAndroid Build Coastguard Worker vdexInstalls: []normalizedInstall{ 1052*333d2b36SAndroid Build Coastguard Worker { 1053*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.vdex", 1054*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot-framework-foo.vdex", 1055*333d2b36SAndroid Build Coastguard Worker }, 1056*333d2b36SAndroid Build Coastguard Worker }, 1057*333d2b36SAndroid Build Coastguard Worker unstrippedInstalls: []normalizedInstall{ 1058*333d2b36SAndroid Build Coastguard Worker { 1059*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars_unstripped/android/system/framework/arm/boot-framework-foo.oat", 1060*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/arm/boot-framework-foo.oat", 1061*333d2b36SAndroid Build Coastguard Worker }, 1062*333d2b36SAndroid Build Coastguard Worker }, 1063*333d2b36SAndroid Build Coastguard Worker licenseMetadataFile: expectedLicenseMetadataFile, 1064*333d2b36SAndroid Build Coastguard Worker }, 1065*333d2b36SAndroid Build Coastguard Worker { 1066*333d2b36SAndroid Build Coastguard Worker archType: android.X86_64, 1067*333d2b36SAndroid Build Coastguard Worker dexLocations: []string{ 1068*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.foo/javalib/framework-foo.jar", 1069*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.bar/javalib/framework-bar.jar", 1070*333d2b36SAndroid Build Coastguard Worker }, 1071*333d2b36SAndroid Build Coastguard Worker dexLocationsDeps: []string{ 1072*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.art/javalib/core1.jar", 1073*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.art/javalib/core2.jar", 1074*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/system/framework/framework.jar", 1075*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.foo/javalib/framework-foo.jar", 1076*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.bar/javalib/framework-bar.jar", 1077*333d2b36SAndroid Build Coastguard Worker }, 1078*333d2b36SAndroid Build Coastguard Worker imagePathOnHost: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.art", 1079*333d2b36SAndroid Build Coastguard Worker imagePathOnDevice: "/system/framework/x86_64/boot-framework-foo.art", 1080*333d2b36SAndroid Build Coastguard Worker imagesDeps: []string{ 1081*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.art", 1082*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.oat", 1083*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.vdex", 1084*333d2b36SAndroid Build Coastguard Worker }, 1085*333d2b36SAndroid Build Coastguard Worker baseImages: []string{ 1086*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.art", 1087*333d2b36SAndroid Build Coastguard Worker }, 1088*333d2b36SAndroid Build Coastguard Worker baseImagesDeps: []string{ 1089*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.art", 1090*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.oat", 1091*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.vdex", 1092*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.art", 1093*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.oat", 1094*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.vdex", 1095*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.art", 1096*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.oat", 1097*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.vdex", 1098*333d2b36SAndroid Build Coastguard Worker }, 1099*333d2b36SAndroid Build Coastguard Worker installs: []normalizedInstall{ 1100*333d2b36SAndroid Build Coastguard Worker { 1101*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.art", 1102*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot-framework-foo.art", 1103*333d2b36SAndroid Build Coastguard Worker }, 1104*333d2b36SAndroid Build Coastguard Worker { 1105*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.oat", 1106*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot-framework-foo.oat", 1107*333d2b36SAndroid Build Coastguard Worker }, 1108*333d2b36SAndroid Build Coastguard Worker }, 1109*333d2b36SAndroid Build Coastguard Worker vdexInstalls: []normalizedInstall{ 1110*333d2b36SAndroid Build Coastguard Worker { 1111*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.vdex", 1112*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot-framework-foo.vdex", 1113*333d2b36SAndroid Build Coastguard Worker }, 1114*333d2b36SAndroid Build Coastguard Worker }, 1115*333d2b36SAndroid Build Coastguard Worker unstrippedInstalls: []normalizedInstall{ 1116*333d2b36SAndroid Build Coastguard Worker { 1117*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars_unstripped/linux_glibc/system/framework/x86_64/boot-framework-foo.oat", 1118*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86_64/boot-framework-foo.oat", 1119*333d2b36SAndroid Build Coastguard Worker }, 1120*333d2b36SAndroid Build Coastguard Worker }, 1121*333d2b36SAndroid Build Coastguard Worker licenseMetadataFile: expectedLicenseMetadataFile, 1122*333d2b36SAndroid Build Coastguard Worker }, 1123*333d2b36SAndroid Build Coastguard Worker { 1124*333d2b36SAndroid Build Coastguard Worker archType: android.X86, 1125*333d2b36SAndroid Build Coastguard Worker dexLocations: []string{ 1126*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.foo/javalib/framework-foo.jar", 1127*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.bar/javalib/framework-bar.jar", 1128*333d2b36SAndroid Build Coastguard Worker }, 1129*333d2b36SAndroid Build Coastguard Worker dexLocationsDeps: []string{ 1130*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.art/javalib/core1.jar", 1131*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.art/javalib/core2.jar", 1132*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/system/framework/framework.jar", 1133*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.foo/javalib/framework-foo.jar", 1134*333d2b36SAndroid Build Coastguard Worker "host/linux-x86/apex/com.android.bar/javalib/framework-bar.jar", 1135*333d2b36SAndroid Build Coastguard Worker }, 1136*333d2b36SAndroid Build Coastguard Worker imagePathOnHost: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.art", 1137*333d2b36SAndroid Build Coastguard Worker imagePathOnDevice: "/system/framework/x86/boot-framework-foo.art", 1138*333d2b36SAndroid Build Coastguard Worker imagesDeps: []string{ 1139*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.art", 1140*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.oat", 1141*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.vdex", 1142*333d2b36SAndroid Build Coastguard Worker }, 1143*333d2b36SAndroid Build Coastguard Worker baseImages: []string{ 1144*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.art", 1145*333d2b36SAndroid Build Coastguard Worker }, 1146*333d2b36SAndroid Build Coastguard Worker baseImagesDeps: []string{ 1147*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.art", 1148*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.oat", 1149*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.vdex", 1150*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.art", 1151*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.oat", 1152*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.vdex", 1153*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.art", 1154*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.oat", 1155*333d2b36SAndroid Build Coastguard Worker "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.vdex", 1156*333d2b36SAndroid Build Coastguard Worker }, 1157*333d2b36SAndroid Build Coastguard Worker installs: []normalizedInstall{ 1158*333d2b36SAndroid Build Coastguard Worker { 1159*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.art", 1160*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot-framework-foo.art", 1161*333d2b36SAndroid Build Coastguard Worker }, 1162*333d2b36SAndroid Build Coastguard Worker { 1163*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.oat", 1164*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot-framework-foo.oat", 1165*333d2b36SAndroid Build Coastguard Worker }, 1166*333d2b36SAndroid Build Coastguard Worker }, 1167*333d2b36SAndroid Build Coastguard Worker vdexInstalls: []normalizedInstall{ 1168*333d2b36SAndroid Build Coastguard Worker { 1169*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.vdex", 1170*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot-framework-foo.vdex", 1171*333d2b36SAndroid Build Coastguard Worker }, 1172*333d2b36SAndroid Build Coastguard Worker }, 1173*333d2b36SAndroid Build Coastguard Worker unstrippedInstalls: []normalizedInstall{ 1174*333d2b36SAndroid Build Coastguard Worker { 1175*333d2b36SAndroid Build Coastguard Worker from: "out/soong/dexpreopt_arm64/dex_mainlinejars_unstripped/linux_glibc/system/framework/x86/boot-framework-foo.oat", 1176*333d2b36SAndroid Build Coastguard Worker to: "/system/framework/x86/boot-framework-foo.oat", 1177*333d2b36SAndroid Build Coastguard Worker }, 1178*333d2b36SAndroid Build Coastguard Worker }, 1179*333d2b36SAndroid Build Coastguard Worker licenseMetadataFile: expectedLicenseMetadataFile, 1180*333d2b36SAndroid Build Coastguard Worker }, 1181*333d2b36SAndroid Build Coastguard Worker }, 1182*333d2b36SAndroid Build Coastguard Worker profileInstalls: []normalizedInstall{}, 1183*333d2b36SAndroid Build Coastguard Worker profileLicenseMetadataFile: expectedLicenseMetadataFile, 1184*333d2b36SAndroid Build Coastguard Worker } 1185*333d2b36SAndroid Build Coastguard Worker 1186*333d2b36SAndroid Build Coastguard Worker checkBootImageConfig(t, result, imageConfig, false, expected) 1187*333d2b36SAndroid Build Coastguard Worker} 1188*333d2b36SAndroid Build Coastguard Worker 1189*333d2b36SAndroid Build Coastguard Worker// clearMutatedFields clears fields in the expectedConfig that correspond to fields in the 1190*333d2b36SAndroid Build Coastguard Worker// bootImageConfig/bootImageVariant structs which are mutated outside the call to 1191*333d2b36SAndroid Build Coastguard Worker// genBootImageConfigs. 1192*333d2b36SAndroid Build Coastguard Worker// 1193*333d2b36SAndroid Build Coastguard Worker// This allows the resulting expectedConfig struct to be compared against the values of those boot 1194*333d2b36SAndroid Build Coastguard Worker// image structs immediately the call to genBootImageConfigs. If this is not called then the 1195*333d2b36SAndroid Build Coastguard Worker// expectedConfig struct will expect the boot image structs to have been mutated by the ART 1196*333d2b36SAndroid Build Coastguard Worker// bootclasspath_fragment and the platform_bootclasspath. 1197*333d2b36SAndroid Build Coastguard Workerfunc clearMutatedFields(expected *expectedConfig) { 1198*333d2b36SAndroid Build Coastguard Worker expected.profileInstalls = nil 1199*333d2b36SAndroid Build Coastguard Worker expected.profileLicenseMetadataFile = "" 1200*333d2b36SAndroid Build Coastguard Worker for _, variant := range expected.variants { 1201*333d2b36SAndroid Build Coastguard Worker variant.installs = nil 1202*333d2b36SAndroid Build Coastguard Worker variant.vdexInstalls = nil 1203*333d2b36SAndroid Build Coastguard Worker variant.unstrippedInstalls = nil 1204*333d2b36SAndroid Build Coastguard Worker variant.licenseMetadataFile = "" 1205*333d2b36SAndroid Build Coastguard Worker } 1206*333d2b36SAndroid Build Coastguard Worker} 1207*333d2b36SAndroid Build Coastguard Worker 1208*333d2b36SAndroid Build Coastguard Worker// checkBootImageConfig checks a boot image against the expected contents. 1209*333d2b36SAndroid Build Coastguard Worker// 1210*333d2b36SAndroid Build Coastguard Worker// If mutated is false then this will clear any mutated fields in the expected contents back to the 1211*333d2b36SAndroid Build Coastguard Worker// zero value so that they will match the unmodified values in the boot image. 1212*333d2b36SAndroid Build Coastguard Worker// 1213*333d2b36SAndroid Build Coastguard Worker// It runs the checks in an image specific subtest of the current test. 1214*333d2b36SAndroid Build Coastguard Workerfunc checkBootImageConfig(t *testing.T, result *android.TestResult, imageConfig *bootImageConfig, mutated bool, expected *expectedConfig) { 1215*333d2b36SAndroid Build Coastguard Worker if !mutated { 1216*333d2b36SAndroid Build Coastguard Worker clearMutatedFields(expected) 1217*333d2b36SAndroid Build Coastguard Worker } 1218*333d2b36SAndroid Build Coastguard Worker 1219*333d2b36SAndroid Build Coastguard Worker t.Run(imageConfig.name, func(t *testing.T) { 1220*333d2b36SAndroid Build Coastguard Worker nestedCheckBootImageConfig(t, result, imageConfig, mutated, expected) 1221*333d2b36SAndroid Build Coastguard Worker }) 1222*333d2b36SAndroid Build Coastguard Worker} 1223*333d2b36SAndroid Build Coastguard Worker 1224*333d2b36SAndroid Build Coastguard Worker// nestedCheckBootImageConfig does the work of comparing the image against the expected values and 1225*333d2b36SAndroid Build Coastguard Worker// is run in an image specific subtest. 1226*333d2b36SAndroid Build Coastguard Workerfunc nestedCheckBootImageConfig(t *testing.T, result *android.TestResult, imageConfig *bootImageConfig, mutated bool, expected *expectedConfig) { 1227*333d2b36SAndroid Build Coastguard Worker android.AssertStringEquals(t, "name", expected.name, imageConfig.name) 1228*333d2b36SAndroid Build Coastguard Worker android.AssertStringEquals(t, "stem", expected.stem, imageConfig.stem) 1229*333d2b36SAndroid Build Coastguard Worker android.AssertPathRelativeToTopEquals(t, "dir", expected.dir, imageConfig.dir) 1230*333d2b36SAndroid Build Coastguard Worker android.AssertPathRelativeToTopEquals(t, "symbolsDir", expected.symbolsDir, imageConfig.symbolsDir) 1231*333d2b36SAndroid Build Coastguard Worker android.AssertStringEquals(t, "installDir", expected.installDir, imageConfig.installDir) 1232*333d2b36SAndroid Build Coastguard Worker android.AssertDeepEquals(t, "modules", expected.modules, imageConfig.modules) 1233*333d2b36SAndroid Build Coastguard Worker android.AssertPathsRelativeToTopEquals(t, "dexPaths", expected.dexPaths, imageConfig.dexPaths.Paths()) 1234*333d2b36SAndroid Build Coastguard Worker android.AssertPathsRelativeToTopEquals(t, "dexPathsDeps", expected.dexPathsDeps, imageConfig.dexPathsDeps.Paths()) 1235*333d2b36SAndroid Build Coastguard Worker // dexPathsByModule is just a different representation of the other information in the config. 1236*333d2b36SAndroid Build Coastguard Worker android.AssertPathRelativeToTopEquals(t, "zip", expected.zip, imageConfig.zip) 1237*333d2b36SAndroid Build Coastguard Worker 1238*333d2b36SAndroid Build Coastguard Worker if !mutated { 1239*333d2b36SAndroid Build Coastguard Worker dexBootJarModule := result.ModuleForTests("dex_bootjars", "android_common") 1240*333d2b36SAndroid Build Coastguard Worker profileInstallInfo, _ := android.OtherModuleProvider(result, dexBootJarModule.Module(), profileInstallInfoProvider) 1241*333d2b36SAndroid Build Coastguard Worker assertInstallsEqual(t, "profileInstalls", expected.profileInstalls, profileInstallInfo.profileInstalls) 1242*333d2b36SAndroid Build Coastguard Worker android.AssertStringEquals(t, "profileLicenseMetadataFile", expected.profileLicenseMetadataFile, profileInstallInfo.profileLicenseMetadataFile.RelativeToTop().String()) 1243*333d2b36SAndroid Build Coastguard Worker } 1244*333d2b36SAndroid Build Coastguard Worker 1245*333d2b36SAndroid Build Coastguard Worker android.AssertIntEquals(t, "variant count", 4, len(imageConfig.variants)) 1246*333d2b36SAndroid Build Coastguard Worker for i, variant := range imageConfig.variants { 1247*333d2b36SAndroid Build Coastguard Worker expectedVariant := expected.variants[i] 1248*333d2b36SAndroid Build Coastguard Worker t.Run(variant.target.Arch.ArchType.String(), func(t *testing.T) { 1249*333d2b36SAndroid Build Coastguard Worker android.AssertDeepEquals(t, "archType", expectedVariant.archType, variant.target.Arch.ArchType) 1250*333d2b36SAndroid Build Coastguard Worker android.AssertDeepEquals(t, "dexLocations", expectedVariant.dexLocations, variant.dexLocations) 1251*333d2b36SAndroid Build Coastguard Worker android.AssertDeepEquals(t, "dexLocationsDeps", expectedVariant.dexLocationsDeps, variant.dexLocationsDeps) 1252*333d2b36SAndroid Build Coastguard Worker android.AssertPathRelativeToTopEquals(t, "imagePathOnHost", expectedVariant.imagePathOnHost, variant.imagePathOnHost) 1253*333d2b36SAndroid Build Coastguard Worker android.AssertStringEquals(t, "imagePathOnDevice", expectedVariant.imagePathOnDevice, variant.imagePathOnDevice) 1254*333d2b36SAndroid Build Coastguard Worker android.AssertPathsRelativeToTopEquals(t, "imagesDeps", expectedVariant.imagesDeps, variant.imagesDeps.Paths()) 1255*333d2b36SAndroid Build Coastguard Worker android.AssertPathsRelativeToTopEquals(t, "baseImages", expectedVariant.baseImages, variant.baseImages.Paths()) 1256*333d2b36SAndroid Build Coastguard Worker android.AssertPathsRelativeToTopEquals(t, "baseImagesDeps", expectedVariant.baseImagesDeps, variant.baseImagesDeps) 1257*333d2b36SAndroid Build Coastguard Worker assertInstallsEqual(t, "installs", expectedVariant.installs, variant.installs) 1258*333d2b36SAndroid Build Coastguard Worker assertInstallsEqual(t, "vdexInstalls", expectedVariant.vdexInstalls, variant.vdexInstalls) 1259*333d2b36SAndroid Build Coastguard Worker assertInstallsEqual(t, "unstrippedInstalls", expectedVariant.unstrippedInstalls, variant.unstrippedInstalls) 1260*333d2b36SAndroid Build Coastguard Worker android.AssertStringEquals(t, "licenseMetadataFile", expectedVariant.licenseMetadataFile, variant.licenseMetadataFile.RelativeToTop().String()) 1261*333d2b36SAndroid Build Coastguard Worker }) 1262*333d2b36SAndroid Build Coastguard Worker } 1263*333d2b36SAndroid Build Coastguard Worker} 1264*333d2b36SAndroid Build Coastguard Worker 1265*333d2b36SAndroid Build Coastguard Worker// CheckMutatedArtBootImageConfig checks the mutated fields in the bootImageConfig/Variant for ART. 1266*333d2b36SAndroid Build Coastguard Workerfunc CheckMutatedArtBootImageConfig(t *testing.T, result *android.TestResult, expectedLicenseMetadataFile string) { 1267*333d2b36SAndroid Build Coastguard Worker checkArtBootImageConfig(t, result, true, expectedLicenseMetadataFile) 1268*333d2b36SAndroid Build Coastguard Worker 1269*333d2b36SAndroid Build Coastguard Worker // Check the dexpreopt make vars. Do it in here as it depends on the expected license metadata 1270*333d2b36SAndroid Build Coastguard Worker // file at the moment and it 1271*333d2b36SAndroid Build Coastguard Worker checkDexpreoptMakeVars(t, result, expectedLicenseMetadataFile) 1272*333d2b36SAndroid Build Coastguard Worker} 1273*333d2b36SAndroid Build Coastguard Worker 1274*333d2b36SAndroid Build Coastguard Worker// CheckMutatedFrameworkBootImageConfig checks the mutated fields in the bootImageConfig/Variant for framework. 1275*333d2b36SAndroid Build Coastguard Workerfunc CheckMutatedFrameworkBootImageConfig(t *testing.T, result *android.TestResult, expectedLicenseMetadataFile string) { 1276*333d2b36SAndroid Build Coastguard Worker checkFrameworkBootImageConfig(t, result, true, expectedLicenseMetadataFile) 1277*333d2b36SAndroid Build Coastguard Worker} 1278*333d2b36SAndroid Build Coastguard Worker 1279*333d2b36SAndroid Build Coastguard Worker// checkDexpreoptMakeVars checks the DEXPREOPT_ prefixed make vars produced by dexpreoptBootJars 1280*333d2b36SAndroid Build Coastguard Worker// singleton. 1281*333d2b36SAndroid Build Coastguard Workerfunc checkDexpreoptMakeVars(t *testing.T, result *android.TestResult, expectedLicenseMetadataFile string) { 1282*333d2b36SAndroid Build Coastguard Worker vars := result.MakeVarsForTesting(func(variable android.MakeVarVariable) bool { 1283*333d2b36SAndroid Build Coastguard Worker return strings.HasPrefix(variable.Name(), "DEXPREOPT_") 1284*333d2b36SAndroid Build Coastguard Worker }) 1285*333d2b36SAndroid Build Coastguard Worker 1286*333d2b36SAndroid Build Coastguard Worker out := &strings.Builder{} 1287*333d2b36SAndroid Build Coastguard Worker for _, v := range vars { 1288*333d2b36SAndroid Build Coastguard Worker fmt.Fprintf(out, "%s=%s\n", v.Name(), android.StringRelativeToTop(result.Config, v.Value())) 1289*333d2b36SAndroid Build Coastguard Worker } 1290*333d2b36SAndroid Build Coastguard Worker format := ` 1291*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_BOOTCLASSPATH_DEX_FILES=out/soong/dexpreopt_arm64/dex_bootjars_input/core1.jar out/soong/dexpreopt_arm64/dex_bootjars_input/core2.jar out/soong/dexpreopt_arm64/dex_bootjars_input/framework.jar 1292*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_BOOTCLASSPATH_DEX_LOCATIONS=/apex/com.android.art/javalib/core1.jar /apex/com.android.art/javalib/core2.jar /system/framework/framework.jar 1293*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_BOOT_JARS_MODULES=com.android.art:core1:com.android.art:core2:platform:framework 1294*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_GEN=out/host/linux-x86/bin/dexpreopt_gen 1295*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_BUILT_INSTALLED_art_arm=out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.art:/apex/art_boot_images/javalib/arm/boot.art out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.oat:/apex/art_boot_images/javalib/arm/boot.oat out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.art:/apex/art_boot_images/javalib/arm/boot-core2.art out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.oat:/apex/art_boot_images/javalib/arm/boot-core2.oat out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.art:/apex/art_boot_images/javalib/arm/boot-extra1.art out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.oat:/apex/art_boot_images/javalib/arm/boot-extra1.oat 1296*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_BUILT_INSTALLED_art_arm64=out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.art:/apex/art_boot_images/javalib/arm64/boot.art out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.oat:/apex/art_boot_images/javalib/arm64/boot.oat out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.art:/apex/art_boot_images/javalib/arm64/boot-core2.art out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.oat:/apex/art_boot_images/javalib/arm64/boot-core2.oat out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.art:/apex/art_boot_images/javalib/arm64/boot-extra1.art out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.oat:/apex/art_boot_images/javalib/arm64/boot-extra1.oat 1297*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_BUILT_INSTALLED_art_host_x86=out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.art:/apex/art_boot_images/javalib/x86/boot.art out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.oat:/apex/art_boot_images/javalib/x86/boot.oat out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.art:/apex/art_boot_images/javalib/x86/boot-core2.art out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.oat:/apex/art_boot_images/javalib/x86/boot-core2.oat out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.art:/apex/art_boot_images/javalib/x86/boot-extra1.art out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.oat:/apex/art_boot_images/javalib/x86/boot-extra1.oat 1298*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_BUILT_INSTALLED_art_host_x86_64=out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.art:/apex/art_boot_images/javalib/x86_64/boot.art out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.oat:/apex/art_boot_images/javalib/x86_64/boot.oat out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.art:/apex/art_boot_images/javalib/x86_64/boot-core2.art out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.oat:/apex/art_boot_images/javalib/x86_64/boot-core2.oat out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.art:/apex/art_boot_images/javalib/x86_64/boot-extra1.art out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.oat:/apex/art_boot_images/javalib/x86_64/boot-extra1.oat 1299*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_BUILT_INSTALLED_boot_arm=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.art:/system/framework/arm/boot.art out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.oat:/system/framework/arm/boot.oat out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.art:/system/framework/arm/boot-core2.art out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.oat:/system/framework/arm/boot-core2.oat out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.art:/system/framework/arm/boot-framework.art out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.oat:/system/framework/arm/boot-framework.oat 1300*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_BUILT_INSTALLED_boot_arm64=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.art:/system/framework/arm64/boot.art out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.oat:/system/framework/arm64/boot.oat out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.art:/system/framework/arm64/boot-core2.art out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.oat:/system/framework/arm64/boot-core2.oat out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.art:/system/framework/arm64/boot-framework.art out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.oat:/system/framework/arm64/boot-framework.oat 1301*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_BUILT_INSTALLED_boot_host_x86=out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.art:/system/framework/x86/boot.art out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.oat:/system/framework/x86/boot.oat out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.art:/system/framework/x86/boot-core2.art out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.oat:/system/framework/x86/boot-core2.oat out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.art:/system/framework/x86/boot-framework.art out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.oat:/system/framework/x86/boot-framework.oat 1302*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_BUILT_INSTALLED_boot_host_x86_64=out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.art:/system/framework/x86_64/boot.art out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.oat:/system/framework/x86_64/boot.oat out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.art:/system/framework/x86_64/boot-core2.art out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.oat:/system/framework/x86_64/boot-core2.oat out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.art:/system/framework/x86_64/boot-framework.art out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.oat:/system/framework/x86_64/boot-framework.oat 1303*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_BUILT_INSTALLED_mainline_arm=out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.art:/system/framework/arm/boot-framework-foo.art out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.oat:/system/framework/arm/boot-framework-foo.oat 1304*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_BUILT_INSTALLED_mainline_arm64=out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.art:/system/framework/arm64/boot-framework-foo.art out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.oat:/system/framework/arm64/boot-framework-foo.oat 1305*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_BUILT_INSTALLED_mainline_host_x86=out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.art:/system/framework/x86/boot-framework-foo.art out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.oat:/system/framework/x86/boot-framework-foo.oat 1306*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_BUILT_INSTALLED_mainline_host_x86_64=out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.art:/system/framework/x86_64/boot-framework-foo.art out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.oat:/system/framework/x86_64/boot-framework-foo.oat 1307*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_DEPS_art_arm=out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.art out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.oat out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.vdex out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.art out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.oat out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.vdex out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.art out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.oat out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.vdex 1308*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_DEPS_art_arm64=out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.art out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.oat out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.vdex out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.art out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.oat out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.vdex out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.art out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.oat out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.vdex 1309*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_DEPS_art_host_x86=out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.art out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.oat out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.vdex out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.art out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.oat out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.vdex out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.art out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.oat out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.vdex 1310*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_DEPS_art_host_x86_64=out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.art out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.oat out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.vdex out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.art out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.oat out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.vdex out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.art out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.oat out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.vdex 1311*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_DEPS_boot_arm=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.art out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.oat out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.vdex out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.art out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.oat out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.vdex out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.art out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.oat out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.vdex 1312*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_DEPS_boot_arm64=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.art out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.oat out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.vdex out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.art out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.oat out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.vdex out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.art out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.oat out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.vdex 1313*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_DEPS_boot_host_x86=out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.art out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.oat out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.vdex out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.art out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.oat out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.vdex out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.art out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.oat out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.vdex 1314*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_DEPS_boot_host_x86_64=out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.art out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.oat out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.vdex out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.art out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.oat out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.vdex out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.art out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.oat out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.vdex 1315*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_DEPS_mainline_arm=out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.art out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.oat out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.vdex 1316*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_DEPS_mainline_arm64=out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.art out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.oat out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.vdex 1317*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_DEPS_mainline_host_x86=out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.art out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.oat out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.vdex 1318*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_DEPS_mainline_host_x86_64=out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.art out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.oat out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.vdex 1319*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LICENSE_METADATA_art_arm=%[1]s 1320*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LICENSE_METADATA_art_arm64=%[1]s 1321*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LICENSE_METADATA_art_host_x86=%[1]s 1322*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LICENSE_METADATA_art_host_x86_64=%[1]s 1323*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LICENSE_METADATA_boot_arm=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic 1324*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LICENSE_METADATA_boot_arm64=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic 1325*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LICENSE_METADATA_boot_host_x86=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic 1326*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LICENSE_METADATA_boot_host_x86_64=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic 1327*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LICENSE_METADATA_mainline_arm=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic 1328*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LICENSE_METADATA_mainline_arm64=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic 1329*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LICENSE_METADATA_mainline_host_x86=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic 1330*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LICENSE_METADATA_mainline_host_x86_64=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic 1331*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LOCATIONS_ON_DEVICEart=/apex/art_boot_images/javalib/boot.art 1332*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LOCATIONS_ON_DEVICEboot=/system/framework/boot.art 1333*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LOCATIONS_ON_DEVICEmainline=/system/framework/boot.art:/system/framework/boot-framework-foo.art 1334*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LOCATIONS_ON_HOSTart=out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/boot.art 1335*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LOCATIONS_ON_HOSTboot=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/boot.art 1336*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_LOCATIONS_ON_HOSTmainline=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/boot.art:out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/boot-framework-foo.art 1337*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_NAMES=art boot mainline 1338*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_UNSTRIPPED_BUILT_INSTALLED_art_arm=out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm/boot.oat:/apex/art_boot_images/javalib/arm/boot.oat out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm/boot-core2.oat:/apex/art_boot_images/javalib/arm/boot-core2.oat out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm/boot-extra1.oat:/apex/art_boot_images/javalib/arm/boot-extra1.oat 1339*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_UNSTRIPPED_BUILT_INSTALLED_art_arm64=out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm64/boot.oat:/apex/art_boot_images/javalib/arm64/boot.oat out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm64/boot-core2.oat:/apex/art_boot_images/javalib/arm64/boot-core2.oat out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm64/boot-extra1.oat:/apex/art_boot_images/javalib/arm64/boot-extra1.oat 1340*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_UNSTRIPPED_BUILT_INSTALLED_art_host_x86=out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86/boot.oat:/apex/art_boot_images/javalib/x86/boot.oat out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.oat:/apex/art_boot_images/javalib/x86/boot-core2.oat out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.oat:/apex/art_boot_images/javalib/x86/boot-extra1.oat 1341*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_UNSTRIPPED_BUILT_INSTALLED_art_host_x86_64=out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.oat:/apex/art_boot_images/javalib/x86_64/boot.oat out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.oat:/apex/art_boot_images/javalib/x86_64/boot-core2.oat out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.oat:/apex/art_boot_images/javalib/x86_64/boot-extra1.oat 1342*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_UNSTRIPPED_BUILT_INSTALLED_boot_arm=out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm/boot.oat:/system/framework/arm/boot.oat out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm/boot-core2.oat:/system/framework/arm/boot-core2.oat out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm/boot-framework.oat:/system/framework/arm/boot-framework.oat 1343*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_UNSTRIPPED_BUILT_INSTALLED_boot_arm64=out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm64/boot.oat:/system/framework/arm64/boot.oat out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm64/boot-core2.oat:/system/framework/arm64/boot-core2.oat out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm64/boot-framework.oat:/system/framework/arm64/boot-framework.oat 1344*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_UNSTRIPPED_BUILT_INSTALLED_boot_host_x86=out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86/boot.oat:/system/framework/x86/boot.oat out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86/boot-core2.oat:/system/framework/x86/boot-core2.oat out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86/boot-framework.oat:/system/framework/x86/boot-framework.oat 1345*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_UNSTRIPPED_BUILT_INSTALLED_boot_host_x86_64=out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86_64/boot.oat:/system/framework/x86_64/boot.oat out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86_64/boot-core2.oat:/system/framework/x86_64/boot-core2.oat out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86_64/boot-framework.oat:/system/framework/x86_64/boot-framework.oat 1346*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_UNSTRIPPED_BUILT_INSTALLED_mainline_arm=out/soong/dexpreopt_arm64/dex_mainlinejars_unstripped/android/system/framework/arm/boot-framework-foo.oat:/system/framework/arm/boot-framework-foo.oat 1347*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_UNSTRIPPED_BUILT_INSTALLED_mainline_arm64=out/soong/dexpreopt_arm64/dex_mainlinejars_unstripped/android/system/framework/arm64/boot-framework-foo.oat:/system/framework/arm64/boot-framework-foo.oat 1348*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_UNSTRIPPED_BUILT_INSTALLED_mainline_host_x86=out/soong/dexpreopt_arm64/dex_mainlinejars_unstripped/linux_glibc/system/framework/x86/boot-framework-foo.oat:/system/framework/x86/boot-framework-foo.oat 1349*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_UNSTRIPPED_BUILT_INSTALLED_mainline_host_x86_64=out/soong/dexpreopt_arm64/dex_mainlinejars_unstripped/linux_glibc/system/framework/x86_64/boot-framework-foo.oat:/system/framework/x86_64/boot-framework-foo.oat 1350*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_VDEX_BUILT_INSTALLED_art_arm=out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.vdex:/apex/art_boot_images/javalib/arm/boot.vdex out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.vdex:/apex/art_boot_images/javalib/arm/boot-core2.vdex out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.vdex:/apex/art_boot_images/javalib/arm/boot-extra1.vdex 1351*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_VDEX_BUILT_INSTALLED_art_arm64=out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.vdex:/apex/art_boot_images/javalib/arm64/boot.vdex out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.vdex:/apex/art_boot_images/javalib/arm64/boot-core2.vdex out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.vdex:/apex/art_boot_images/javalib/arm64/boot-extra1.vdex 1352*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_VDEX_BUILT_INSTALLED_art_host_x86=out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.vdex:/apex/art_boot_images/javalib/x86/boot.vdex out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.vdex:/apex/art_boot_images/javalib/x86/boot-core2.vdex out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.vdex:/apex/art_boot_images/javalib/x86/boot-extra1.vdex 1353*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_VDEX_BUILT_INSTALLED_art_host_x86_64=out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.vdex:/apex/art_boot_images/javalib/x86_64/boot.vdex out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.vdex:/apex/art_boot_images/javalib/x86_64/boot-core2.vdex out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.vdex:/apex/art_boot_images/javalib/x86_64/boot-extra1.vdex 1354*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_VDEX_BUILT_INSTALLED_boot_arm=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.vdex:/system/framework/arm/boot.vdex out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.vdex:/system/framework/arm/boot-core2.vdex out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.vdex:/system/framework/arm/boot-framework.vdex 1355*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_VDEX_BUILT_INSTALLED_boot_arm64=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.vdex:/system/framework/arm64/boot.vdex out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.vdex:/system/framework/arm64/boot-core2.vdex out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.vdex:/system/framework/arm64/boot-framework.vdex 1356*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_VDEX_BUILT_INSTALLED_boot_host_x86=out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.vdex:/system/framework/x86/boot.vdex out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.vdex:/system/framework/x86/boot-core2.vdex out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.vdex:/system/framework/x86/boot-framework.vdex 1357*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_VDEX_BUILT_INSTALLED_boot_host_x86_64=out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.vdex:/system/framework/x86_64/boot.vdex out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.vdex:/system/framework/x86_64/boot-core2.vdex out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.vdex:/system/framework/x86_64/boot-framework.vdex 1358*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_VDEX_BUILT_INSTALLED_mainline_arm=out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.vdex:/system/framework/arm/boot-framework-foo.vdex 1359*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_VDEX_BUILT_INSTALLED_mainline_arm64=out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.vdex:/system/framework/arm64/boot-framework-foo.vdex 1360*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_VDEX_BUILT_INSTALLED_mainline_host_x86=out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.vdex:/system/framework/x86/boot-framework-foo.vdex 1361*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_VDEX_BUILT_INSTALLED_mainline_host_x86_64=out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.vdex:/system/framework/x86_64/boot-framework-foo.vdex 1362*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_ZIP_art=out/soong/dexpreopt_arm64/dex_artjars/art.zip 1363*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_ZIP_boot=out/soong/dexpreopt_arm64/dex_bootjars/boot.zip 1364*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_ZIP_mainline=out/soong/dexpreopt_arm64/dex_mainlinejars/mainline.zip 1365*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_art_arm=out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.art 1366*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_art_arm64=out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.art 1367*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_art_host_x86=out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.art 1368*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_art_host_x86_64=out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.art 1369*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_boot_arm=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.art 1370*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_boot_arm64=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.art 1371*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_boot_host_x86=out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.art 1372*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_boot_host_x86_64=out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.art 1373*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_mainline_arm=out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.art 1374*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_mainline_arm64=out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.art 1375*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_mainline_host_x86=out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.art 1376*333d2b36SAndroid Build Coastguard WorkerDEXPREOPT_IMAGE_mainline_host_x86_64=out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.art 1377*333d2b36SAndroid Build Coastguard Worker` 1378*333d2b36SAndroid Build Coastguard Worker expected := strings.TrimSpace(fmt.Sprintf(format, expectedLicenseMetadataFile)) 1379*333d2b36SAndroid Build Coastguard Worker actual := strings.TrimSpace(out.String()) 1380*333d2b36SAndroid Build Coastguard Worker android.AssertStringEquals(t, "vars", expected, actual) 1381*333d2b36SAndroid Build Coastguard Worker} 1382