blob: 104829f5fbe4e993db04dd2e882097ae0b49781e [file] [log] [blame]
Paul Duffin8eb45732022-10-04 19:03:31 +01001// Copyright 2022 Google Inc. All rights reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Testing support for dexpreopt config.
16//
17// The bootImageConfig/bootImageVariant structs returned by genBootImageConfigs are used in many
18// places in the build and are currently mutated in a number of those locations. This provides
19// comprehensive tests of the fields in those structs to ensure that they have been initialized
20// correctly and where relevant, mutated correctly.
21//
22// This is used in TestBootImageConfig to verify that the
23
24package java
25
26import (
27 "fmt"
28 "strings"
29 "testing"
30
31 "android/soong/android"
Jiakai Zhang556bdf82023-07-12 16:51:57 +010032 "android/soong/dexpreopt"
Paul Duffin8eb45732022-10-04 19:03:31 +010033)
34
35// PrepareForBootImageConfigTest is the minimal set of preparers that are needed to be able to use
36// the Check*BootImageConfig methods define here.
37var PrepareForBootImageConfigTest = android.GroupFixturePreparers(
38 android.PrepareForTestWithArchMutator,
39 android.PrepareForTestAccessingMakeVars,
Jiakai Zhang556bdf82023-07-12 16:51:57 +010040 PrepareForTestWithDexpreopt,
Paul Duffin8eb45732022-10-04 19:03:31 +010041 FixtureConfigureBootJars("com.android.art:core1", "com.android.art:core2", "platform:framework"),
Jiakai Zhang556bdf82023-07-12 16:51:57 +010042 dexpreopt.FixtureSetTestOnlyArtBootImageJars("com.android.art:core1", "com.android.art:core2", "platform:extra1"),
43 android.FixtureAddTextFile("extra1/Android.bp", `
44 java_library {
45 name: "extra1",
46 srcs: ["extra1.java"],
47 installable: true,
48 }
49 `),
50 android.FixtureAddFile("extra1/extra1.java", nil),
Paul Duffin8eb45732022-10-04 19:03:31 +010051)
52
Jiakai Zhangb8796202023-03-06 19:16:48 +000053var PrepareApexBootJarConfigs = FixtureConfigureApexBootJars(
54 "com.android.foo:framework-foo", "com.android.bar:framework-bar")
55
56var PrepareApexBootJarConfigsAndModules = android.GroupFixturePreparers(
57 PrepareApexBootJarConfigs,
Jiakai Zhangb69e8952023-07-11 14:31:22 +010058 PrepareApexBootJarModule("com.android.foo", "framework-foo"),
59 PrepareApexBootJarModule("com.android.bar", "framework-bar"),
Jiakai Zhangb8796202023-03-06 19:16:48 +000060)
61
62var ApexBootJarFragmentsForPlatformBootclasspath = fmt.Sprintf(`
63 {
64 apex: "%[1]s",
Jiakai Zhangb69e8952023-07-11 14:31:22 +010065 module: "%[1]s-bootclasspath-fragment",
Jiakai Zhangb8796202023-03-06 19:16:48 +000066 },
67 {
68 apex: "%[2]s",
Jiakai Zhangb69e8952023-07-11 14:31:22 +010069 module: "%[2]s-bootclasspath-fragment",
Jiakai Zhangb8796202023-03-06 19:16:48 +000070 },
71`, "com.android.foo", "com.android.bar")
72
73var ApexBootJarDexJarPaths = []string{
74 "out/soong/.intermediates/packages/modules/com.android.bar/framework-bar/android_common_apex10000/aligned/framework-bar.jar",
75 "out/soong/.intermediates/packages/modules/com.android.foo/framework-foo/android_common_apex10000/aligned/framework-foo.jar",
76}
77
Jiakai Zhangb69e8952023-07-11 14:31:22 +010078func PrepareApexBootJarModule(apexName string, moduleName string) android.FixturePreparer {
Jiakai Zhangb8796202023-03-06 19:16:48 +000079 moduleSourceDir := fmt.Sprintf("packages/modules/%s", apexName)
Cole Faust06ea5312023-10-18 17:38:40 -070080 fragmentName := apexName + "-bootclasspath-fragment"
Jiakai Zhangb69e8952023-07-11 14:31:22 +010081 imageNameProp := ""
82 if apexName == "com.android.art" {
83 fragmentName = "art-bootclasspath-fragment"
84 imageNameProp = `image_name: "art",`
85 }
86
Jiakai Zhangb8796202023-03-06 19:16:48 +000087 return android.GroupFixturePreparers(
88 android.FixtureAddTextFile(moduleSourceDir+"/Android.bp", fmt.Sprintf(`
89 apex {
90 name: "%[1]s",
91 key: "%[1]s.key",
92 bootclasspath_fragments: [
Jiakai Zhangb69e8952023-07-11 14:31:22 +010093 "%[3]s",
Jiakai Zhangb8796202023-03-06 19:16:48 +000094 ],
95 updatable: false,
96 }
97
98 apex_key {
99 name: "%[1]s.key",
100 public_key: "%[1]s.avbpubkey",
101 private_key: "%[1]s.pem",
102 }
103
104 bootclasspath_fragment {
Jiakai Zhangb69e8952023-07-11 14:31:22 +0100105 name: "%[3]s",
106 %[4]s
Jiakai Zhangb8796202023-03-06 19:16:48 +0000107 contents: ["%[2]s"],
108 apex_available: ["%[1]s"],
109 hidden_api: {
110 split_packages: ["*"],
111 },
112 }
113
114 java_library {
115 name: "%[2]s",
116 srcs: ["%[2]s.java"],
117 system_modules: "none",
118 sdk_version: "none",
119 compile_dex: true,
120 apex_available: ["%[1]s"],
121 }
Jiakai Zhangb69e8952023-07-11 14:31:22 +0100122 `, apexName, moduleName, fragmentName, imageNameProp)),
Jiakai Zhangb8796202023-03-06 19:16:48 +0000123 android.FixtureMergeMockFs(android.MockFS{
124 fmt.Sprintf("%s/apex_manifest.json", moduleSourceDir): nil,
125 fmt.Sprintf("%s/%s.avbpubkey", moduleSourceDir, apexName): nil,
126 fmt.Sprintf("%s/%s.pem", moduleSourceDir, apexName): nil,
127 fmt.Sprintf("system/sepolicy/apex/%s-file_contexts", apexName): nil,
128 fmt.Sprintf("%s/%s.java", moduleSourceDir, moduleName): nil,
129 }),
130 )
131}
132
Paul Duffin8eb45732022-10-04 19:03:31 +0100133// normalizedInstall represents a android.RuleBuilderInstall that has been normalized to remove
134// test specific parts of the From path.
135type normalizedInstall struct {
136 from string
137 to string
138}
139
140// normalizeInstalls converts a slice of android.RuleBuilderInstall into a slice of
141// normalizedInstall to allow them to be compared using android.AssertDeepEquals.
142func normalizeInstalls(installs android.RuleBuilderInstalls) []normalizedInstall {
143 var normalized []normalizedInstall
144 for _, install := range installs {
145 normalized = append(normalized, normalizedInstall{
146 from: install.From.RelativeToTop().String(),
147 to: install.To,
148 })
149 }
150 return normalized
151}
152
153// assertInstallsEqual normalized the android.RuleBuilderInstalls and compares against the expected
154// normalizedInstalls.
155func assertInstallsEqual(t *testing.T, message string, expected []normalizedInstall, actual android.RuleBuilderInstalls) {
156 t.Helper()
157 normalizedActual := normalizeInstalls(actual)
158 android.AssertDeepEquals(t, message, expected, normalizedActual)
159}
160
161// expectedConfig encapsulates the expected properties that will be set in a bootImageConfig
162//
163// Each field <x> in here is compared against the corresponding field <x> in bootImageConfig.
164type expectedConfig struct {
165 name string
166 stem string
167 dir string
168 symbolsDir string
Jiakai Zhang09d88df2023-05-10 17:04:53 +0100169 installDir string
Paul Duffin8eb45732022-10-04 19:03:31 +0100170 profileInstallPathInApex string
171 modules android.ConfiguredJarList
172 dexPaths []string
173 dexPathsDeps []string
174 zip string
175 variants []*expectedVariant
176
177 // Mutated fields
178 profileInstalls []normalizedInstall
179 profileLicenseMetadataFile string
180}
181
182// expectedVariant encapsulates the expected properties that will be set in a bootImageVariant
183//
184// Each field <x> in here is compared against the corresponding field <x> in bootImageVariant
185// except for archType which is compared against the target.Arch.ArchType field in bootImageVariant.
186type expectedVariant struct {
187 archType android.ArchType
188 dexLocations []string
189 dexLocationsDeps []string
190 imagePathOnHost string
191 imagePathOnDevice string
192 imagesDeps []string
Jiakai Zhang8fe3a412023-02-23 17:37:16 +0000193 baseImages []string
194 baseImagesDeps []string
Paul Duffin8eb45732022-10-04 19:03:31 +0100195
196 // Mutated fields
197 installs []normalizedInstall
198 vdexInstalls []normalizedInstall
199 unstrippedInstalls []normalizedInstall
200 licenseMetadataFile string
201}
202
203// CheckArtBootImageConfig checks the status of the fields of the bootImageConfig and
204// bootImageVariant structures that are returned from artBootImageConfig.
205//
206// This is before any fields are mutated.
207func CheckArtBootImageConfig(t *testing.T, result *android.TestResult) {
208 checkArtBootImageConfig(t, result, false, "")
209}
210
211// getArtImageConfig gets the ART bootImageConfig that was created during the test.
212func getArtImageConfig(result *android.TestResult) *bootImageConfig {
213 pathCtx := &android.TestPathContext{TestResult: result}
Jiakai Zhangb69e8952023-07-11 14:31:22 +0100214 imageConfig := genBootImageConfigs(pathCtx)["art"]
Paul Duffin8eb45732022-10-04 19:03:31 +0100215 return imageConfig
216}
217
218// checkArtBootImageConfig checks the ART boot image.
219//
220// mutated is true if this is called after fields in the image have been mutated by the ART
221// bootclasspath_fragment and false otherwise.
222func checkArtBootImageConfig(t *testing.T, result *android.TestResult, mutated bool, expectedLicenseMetadataFile string) {
223 imageConfig := getArtImageConfig(result)
224
225 expected := &expectedConfig{
226 name: "art",
227 stem: "boot",
Jeongik Cha4753b392023-04-19 23:25:41 +0900228 dir: "out/soong/dexpreopt_arm64/dex_artjars",
229 symbolsDir: "out/soong/dexpreopt_arm64/dex_artjars_unstripped",
Jiakai Zhang09d88df2023-05-10 17:04:53 +0100230 installDir: "apex/art_boot_images/javalib",
Paul Duffin8eb45732022-10-04 19:03:31 +0100231 profileInstallPathInApex: "etc/boot-image.prof",
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100232 modules: android.CreateTestConfiguredJarList([]string{"com.android.art:core1", "com.android.art:core2", "platform:extra1"}),
233 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 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"},
Jeongik Cha4753b392023-04-19 23:25:41 +0900235 zip: "out/soong/dexpreopt_arm64/dex_artjars/art.zip",
Paul Duffin8eb45732022-10-04 19:03:31 +0100236 variants: []*expectedVariant{
237 {
238 archType: android.Arm64,
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100239 dexLocations: []string{"/apex/com.android.art/javalib/core1.jar", "/apex/com.android.art/javalib/core2.jar", "/system/framework/extra1.jar"},
240 dexLocationsDeps: []string{"/apex/com.android.art/javalib/core1.jar", "/apex/com.android.art/javalib/core2.jar", "/system/framework/extra1.jar"},
Jeongik Cha4753b392023-04-19 23:25:41 +0900241 imagePathOnHost: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.art",
Jiakai Zhang09d88df2023-05-10 17:04:53 +0100242 imagePathOnDevice: "/apex/art_boot_images/javalib/arm64/boot.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100243 imagesDeps: []string{
Jeongik Cha4753b392023-04-19 23:25:41 +0900244 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.art",
245 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.oat",
246 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.vdex",
247 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.art",
248 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.oat",
249 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.vdex",
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100250 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.art",
251 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.oat",
252 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100253 },
254 installs: []normalizedInstall{
255 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900256 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100257 to: "/apex/art_boot_images/javalib/arm64/boot.art",
258 },
259 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900260 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100261 to: "/apex/art_boot_images/javalib/arm64/boot.oat",
262 },
263 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900264 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100265 to: "/apex/art_boot_images/javalib/arm64/boot-core2.art",
266 },
267 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900268 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100269 to: "/apex/art_boot_images/javalib/arm64/boot-core2.oat",
270 },
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100271 {
272 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.art",
273 to: "/apex/art_boot_images/javalib/arm64/boot-extra1.art",
274 },
275 {
276 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.oat",
277 to: "/apex/art_boot_images/javalib/arm64/boot-extra1.oat",
278 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100279 },
280 vdexInstalls: []normalizedInstall{
281 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900282 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100283 to: "/apex/art_boot_images/javalib/arm64/boot.vdex",
284 },
285 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900286 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-core2.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100287 to: "/apex/art_boot_images/javalib/arm64/boot-core2.vdex",
288 },
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100289 {
290 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot-extra1.vdex",
291 to: "/apex/art_boot_images/javalib/arm64/boot-extra1.vdex",
292 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100293 },
294 unstrippedInstalls: []normalizedInstall{
295 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900296 from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm64/boot.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100297 to: "/apex/art_boot_images/javalib/arm64/boot.oat",
298 },
299 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900300 from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm64/boot-core2.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100301 to: "/apex/art_boot_images/javalib/arm64/boot-core2.oat",
302 },
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100303 {
304 from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm64/boot-extra1.oat",
305 to: "/apex/art_boot_images/javalib/arm64/boot-extra1.oat",
306 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100307 },
308 licenseMetadataFile: expectedLicenseMetadataFile,
309 },
310 {
311 archType: android.Arm,
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100312 dexLocations: []string{"/apex/com.android.art/javalib/core1.jar", "/apex/com.android.art/javalib/core2.jar", "/system/framework/extra1.jar"},
313 dexLocationsDeps: []string{"/apex/com.android.art/javalib/core1.jar", "/apex/com.android.art/javalib/core2.jar", "/system/framework/extra1.jar"},
Jeongik Cha4753b392023-04-19 23:25:41 +0900314 imagePathOnHost: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.art",
Jiakai Zhang09d88df2023-05-10 17:04:53 +0100315 imagePathOnDevice: "/apex/art_boot_images/javalib/arm/boot.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100316 imagesDeps: []string{
Jeongik Cha4753b392023-04-19 23:25:41 +0900317 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.art",
318 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.oat",
319 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.vdex",
320 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.art",
321 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.oat",
322 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.vdex",
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100323 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.art",
324 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.oat",
325 "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100326 },
327 installs: []normalizedInstall{
328 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900329 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100330 to: "/apex/art_boot_images/javalib/arm/boot.art",
331 },
332 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900333 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100334 to: "/apex/art_boot_images/javalib/arm/boot.oat",
335 },
336 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900337 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100338 to: "/apex/art_boot_images/javalib/arm/boot-core2.art",
339 },
340 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900341 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100342 to: "/apex/art_boot_images/javalib/arm/boot-core2.oat",
343 },
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100344 {
345 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.art",
346 to: "/apex/art_boot_images/javalib/arm/boot-extra1.art",
347 },
348 {
349 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.oat",
350 to: "/apex/art_boot_images/javalib/arm/boot-extra1.oat",
351 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100352 },
353 vdexInstalls: []normalizedInstall{
354 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900355 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100356 to: "/apex/art_boot_images/javalib/arm/boot.vdex",
357 },
358 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900359 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-core2.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100360 to: "/apex/art_boot_images/javalib/arm/boot-core2.vdex",
361 },
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100362 {
363 from: "out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot-extra1.vdex",
364 to: "/apex/art_boot_images/javalib/arm/boot-extra1.vdex",
365 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100366 },
367 unstrippedInstalls: []normalizedInstall{
368 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900369 from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm/boot.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100370 to: "/apex/art_boot_images/javalib/arm/boot.oat",
371 },
372 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900373 from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm/boot-core2.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100374 to: "/apex/art_boot_images/javalib/arm/boot-core2.oat",
375 },
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100376 {
377 from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/android/apex/art_boot_images/javalib/arm/boot-extra1.oat",
378 to: "/apex/art_boot_images/javalib/arm/boot-extra1.oat",
379 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100380 },
381 licenseMetadataFile: expectedLicenseMetadataFile,
382 },
383 {
384 archType: android.X86_64,
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100385 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 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"},
Jeongik Cha4753b392023-04-19 23:25:41 +0900387 imagePathOnHost: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.art",
Jiakai Zhang09d88df2023-05-10 17:04:53 +0100388 imagePathOnDevice: "/apex/art_boot_images/javalib/x86_64/boot.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100389 imagesDeps: []string{
Jeongik Cha4753b392023-04-19 23:25:41 +0900390 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.art",
391 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.oat",
392 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.vdex",
393 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.art",
394 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.oat",
395 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.vdex",
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100396 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.art",
397 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.oat",
398 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100399 },
400 installs: []normalizedInstall{
401 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900402 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100403 to: "/apex/art_boot_images/javalib/x86_64/boot.art",
404 }, {
Jeongik Cha4753b392023-04-19 23:25:41 +0900405 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100406 to: "/apex/art_boot_images/javalib/x86_64/boot.oat",
407 },
408 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900409 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100410 to: "/apex/art_boot_images/javalib/x86_64/boot-core2.art",
411 }, {
Jeongik Cha4753b392023-04-19 23:25:41 +0900412 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100413 to: "/apex/art_boot_images/javalib/x86_64/boot-core2.oat",
414 },
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100415 {
416 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.art",
417 to: "/apex/art_boot_images/javalib/x86_64/boot-extra1.art",
418 }, {
419 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.oat",
420 to: "/apex/art_boot_images/javalib/x86_64/boot-extra1.oat",
421 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100422 },
423 vdexInstalls: []normalizedInstall{
424 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900425 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100426 to: "/apex/art_boot_images/javalib/x86_64/boot.vdex",
427 },
428 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900429 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100430 to: "/apex/art_boot_images/javalib/x86_64/boot-core2.vdex",
431 },
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100432 {
433 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.vdex",
434 to: "/apex/art_boot_images/javalib/x86_64/boot-extra1.vdex",
435 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100436 },
437 unstrippedInstalls: []normalizedInstall{
438 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900439 from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100440 to: "/apex/art_boot_images/javalib/x86_64/boot.oat",
441 },
442 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900443 from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-core2.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100444 to: "/apex/art_boot_images/javalib/x86_64/boot-core2.oat",
445 },
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100446 {
447 from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86_64/boot-extra1.oat",
448 to: "/apex/art_boot_images/javalib/x86_64/boot-extra1.oat",
449 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100450 },
451 licenseMetadataFile: expectedLicenseMetadataFile,
452 },
453 {
454 archType: android.X86,
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100455 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 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"},
Jeongik Cha4753b392023-04-19 23:25:41 +0900457 imagePathOnHost: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.art",
Jiakai Zhang09d88df2023-05-10 17:04:53 +0100458 imagePathOnDevice: "/apex/art_boot_images/javalib/x86/boot.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100459 imagesDeps: []string{
Jeongik Cha4753b392023-04-19 23:25:41 +0900460 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.art",
461 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.oat",
462 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.vdex",
463 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.art",
464 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.oat",
465 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.vdex",
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100466 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.art",
467 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.oat",
468 "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100469 },
470 installs: []normalizedInstall{
471 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900472 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100473 to: "/apex/art_boot_images/javalib/x86/boot.art",
474 }, {
Jeongik Cha4753b392023-04-19 23:25:41 +0900475 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100476 to: "/apex/art_boot_images/javalib/x86/boot.oat",
477 },
478 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900479 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100480 to: "/apex/art_boot_images/javalib/x86/boot-core2.art",
481 }, {
Jeongik Cha4753b392023-04-19 23:25:41 +0900482 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100483 to: "/apex/art_boot_images/javalib/x86/boot-core2.oat",
484 },
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100485 {
486 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.art",
487 to: "/apex/art_boot_images/javalib/x86/boot-extra1.art",
488 }, {
489 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.oat",
490 to: "/apex/art_boot_images/javalib/x86/boot-extra1.oat",
491 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100492 },
493 vdexInstalls: []normalizedInstall{
494 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900495 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100496 to: "/apex/art_boot_images/javalib/x86/boot.vdex",
497 },
498 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900499 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100500 to: "/apex/art_boot_images/javalib/x86/boot-core2.vdex",
501 },
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100502 {
503 from: "out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.vdex",
504 to: "/apex/art_boot_images/javalib/x86/boot-extra1.vdex",
505 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100506 },
507 unstrippedInstalls: []normalizedInstall{
508 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900509 from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86/boot.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100510 to: "/apex/art_boot_images/javalib/x86/boot.oat",
511 },
512 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900513 from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86/boot-core2.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100514 to: "/apex/art_boot_images/javalib/x86/boot-core2.oat",
515 },
Jiakai Zhang556bdf82023-07-12 16:51:57 +0100516 {
517 from: "out/soong/dexpreopt_arm64/dex_artjars_unstripped/linux_glibc/apex/art_boot_images/javalib/x86/boot-extra1.oat",
518 to: "/apex/art_boot_images/javalib/x86/boot-extra1.oat",
519 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100520 },
521 licenseMetadataFile: expectedLicenseMetadataFile,
522 },
523 },
524 }
525
Colin Cross84ed5112024-01-17 12:14:44 -0800526 checkBootImageConfig(t, result, imageConfig, mutated, expected)
Paul Duffin8eb45732022-10-04 19:03:31 +0100527}
528
529// getFrameworkImageConfig gets the framework bootImageConfig that was created during the test.
530func getFrameworkImageConfig(result *android.TestResult) *bootImageConfig {
531 pathCtx := &android.TestPathContext{TestResult: result}
532 imageConfig := defaultBootImageConfig(pathCtx)
533 return imageConfig
534}
535
536// CheckFrameworkBootImageConfig checks the status of the fields of the bootImageConfig and
537// bootImageVariant structures that are returned from defaultBootImageConfig.
538//
539// This is before any fields are mutated.
540func CheckFrameworkBootImageConfig(t *testing.T, result *android.TestResult) {
541 checkFrameworkBootImageConfig(t, result, false, "")
542}
543
544// checkFrameworkBootImageConfig checks the framework boot image.
545//
546// mutated is true if this is called after fields in the image have been mutated by the
547// platform_bootclasspath and false otherwise.
548func checkFrameworkBootImageConfig(t *testing.T, result *android.TestResult, mutated bool, expectedLicenseMetadataFile string) {
549 imageConfig := getFrameworkImageConfig(result)
550
551 expected := &expectedConfig{
552 name: "boot",
553 stem: "boot",
Jeongik Cha4753b392023-04-19 23:25:41 +0900554 dir: "out/soong/dexpreopt_arm64/dex_bootjars",
555 symbolsDir: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped",
Jiakai Zhang09d88df2023-05-10 17:04:53 +0100556 installDir: "system/framework",
Paul Duffin8eb45732022-10-04 19:03:31 +0100557 profileInstallPathInApex: "",
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100558 modules: android.CreateTestConfiguredJarList([]string{
559 "com.android.art:core1",
560 "com.android.art:core2",
561 "platform:framework",
562 }),
563 dexPaths: []string{
564 "out/soong/dexpreopt_arm64/dex_bootjars_input/core1.jar",
565 "out/soong/dexpreopt_arm64/dex_bootjars_input/core2.jar",
566 "out/soong/dexpreopt_arm64/dex_bootjars_input/framework.jar",
567 },
568 dexPathsDeps: []string{
569 "out/soong/dexpreopt_arm64/dex_bootjars_input/core1.jar",
570 "out/soong/dexpreopt_arm64/dex_bootjars_input/core2.jar",
571 "out/soong/dexpreopt_arm64/dex_bootjars_input/framework.jar",
572 },
573 zip: "out/soong/dexpreopt_arm64/dex_bootjars/boot.zip",
Paul Duffin8eb45732022-10-04 19:03:31 +0100574 variants: []*expectedVariant{
575 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100576 archType: android.Arm64,
577 dexLocations: []string{
578 "/apex/com.android.art/javalib/core1.jar",
579 "/apex/com.android.art/javalib/core2.jar",
580 "/system/framework/framework.jar",
581 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100582 dexLocationsDeps: []string{
583 "/apex/com.android.art/javalib/core1.jar",
584 "/apex/com.android.art/javalib/core2.jar",
585 "/system/framework/framework.jar",
586 },
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100587 imagePathOnHost: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.art",
588 imagePathOnDevice: "/system/framework/arm64/boot.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100589 imagesDeps: []string{
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100590 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.art",
591 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.oat",
592 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.vdex",
593 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.art",
594 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.oat",
595 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.vdex",
Jeongik Cha4753b392023-04-19 23:25:41 +0900596 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.art",
597 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.oat",
598 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100599 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100600 installs: []normalizedInstall{
601 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100602 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.art",
603 to: "/system/framework/arm64/boot.art",
604 },
605 {
606 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.oat",
607 to: "/system/framework/arm64/boot.oat",
608 },
609 {
610 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.art",
611 to: "/system/framework/arm64/boot-core2.art",
612 },
613 {
614 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.oat",
615 to: "/system/framework/arm64/boot-core2.oat",
616 },
617 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900618 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100619 to: "/system/framework/arm64/boot-framework.art",
620 },
621 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900622 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100623 to: "/system/framework/arm64/boot-framework.oat",
624 },
625 },
626 vdexInstalls: []normalizedInstall{
627 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100628 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.vdex",
629 to: "/system/framework/arm64/boot.vdex",
630 },
631 {
632 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.vdex",
633 to: "/system/framework/arm64/boot-core2.vdex",
634 },
635 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900636 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100637 to: "/system/framework/arm64/boot-framework.vdex",
638 },
639 },
640 unstrippedInstalls: []normalizedInstall{
641 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100642 from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm64/boot.oat",
643 to: "/system/framework/arm64/boot.oat",
644 },
645 {
646 from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm64/boot-core2.oat",
647 to: "/system/framework/arm64/boot-core2.oat",
648 },
649 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900650 from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm64/boot-framework.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100651 to: "/system/framework/arm64/boot-framework.oat",
652 },
653 },
654 licenseMetadataFile: expectedLicenseMetadataFile,
655 },
656 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100657 archType: android.Arm,
658 dexLocations: []string{
659 "/apex/com.android.art/javalib/core1.jar",
660 "/apex/com.android.art/javalib/core2.jar",
661 "/system/framework/framework.jar",
662 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100663 dexLocationsDeps: []string{
664 "/apex/com.android.art/javalib/core1.jar",
665 "/apex/com.android.art/javalib/core2.jar",
666 "/system/framework/framework.jar",
667 },
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100668 imagePathOnHost: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.art",
669 imagePathOnDevice: "/system/framework/arm/boot.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100670 imagesDeps: []string{
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100671 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.art",
672 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.oat",
673 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.vdex",
674 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.art",
675 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.oat",
676 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.vdex",
Jeongik Cha4753b392023-04-19 23:25:41 +0900677 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.art",
678 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.oat",
679 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100680 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100681 installs: []normalizedInstall{
682 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100683 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.art",
684 to: "/system/framework/arm/boot.art",
685 },
686 {
687 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.oat",
688 to: "/system/framework/arm/boot.oat",
689 },
690 {
691 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.art",
692 to: "/system/framework/arm/boot-core2.art",
693 },
694 {
695 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.oat",
696 to: "/system/framework/arm/boot-core2.oat",
697 },
698 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900699 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100700 to: "/system/framework/arm/boot-framework.art",
701 },
702 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900703 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100704 to: "/system/framework/arm/boot-framework.oat",
705 },
706 },
707 vdexInstalls: []normalizedInstall{
708 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100709 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.vdex",
710 to: "/system/framework/arm/boot.vdex",
711 },
712 {
713 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.vdex",
714 to: "/system/framework/arm/boot-core2.vdex",
715 },
716 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900717 from: "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100718 to: "/system/framework/arm/boot-framework.vdex",
719 },
720 },
721 unstrippedInstalls: []normalizedInstall{
722 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100723 from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm/boot.oat",
724 to: "/system/framework/arm/boot.oat",
725 },
726 {
727 from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm/boot-core2.oat",
728 to: "/system/framework/arm/boot-core2.oat",
729 },
730 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900731 from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/android/system/framework/arm/boot-framework.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100732 to: "/system/framework/arm/boot-framework.oat",
733 },
734 },
735 licenseMetadataFile: expectedLicenseMetadataFile,
736 },
737 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100738 archType: android.X86_64,
739 dexLocations: []string{
740 "host/linux-x86/apex/com.android.art/javalib/core1.jar",
741 "host/linux-x86/apex/com.android.art/javalib/core2.jar",
742 "host/linux-x86/system/framework/framework.jar",
743 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100744 dexLocationsDeps: []string{
745 "host/linux-x86/apex/com.android.art/javalib/core1.jar",
746 "host/linux-x86/apex/com.android.art/javalib/core2.jar",
747 "host/linux-x86/system/framework/framework.jar",
748 },
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100749 imagePathOnHost: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.art",
750 imagePathOnDevice: "/system/framework/x86_64/boot.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100751 imagesDeps: []string{
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100752 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.art",
753 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.oat",
754 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.vdex",
755 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.art",
756 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.oat",
757 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.vdex",
Jeongik Cha4753b392023-04-19 23:25:41 +0900758 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.art",
759 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.oat",
760 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100761 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100762 installs: []normalizedInstall{
763 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100764 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.art",
765 to: "/system/framework/x86_64/boot.art",
766 },
767 {
768 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.oat",
769 to: "/system/framework/x86_64/boot.oat",
770 },
771 {
772 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.art",
773 to: "/system/framework/x86_64/boot-core2.art",
774 },
775 {
776 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.oat",
777 to: "/system/framework/x86_64/boot-core2.oat",
778 },
779 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900780 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100781 to: "/system/framework/x86_64/boot-framework.art",
782 },
783 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900784 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100785 to: "/system/framework/x86_64/boot-framework.oat",
786 },
787 },
788 vdexInstalls: []normalizedInstall{
789 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100790 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.vdex",
791 to: "/system/framework/x86_64/boot.vdex",
792 },
793 {
794 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.vdex",
795 to: "/system/framework/x86_64/boot-core2.vdex",
796 },
797 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900798 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100799 to: "/system/framework/x86_64/boot-framework.vdex",
800 },
801 },
802 unstrippedInstalls: []normalizedInstall{
803 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100804 from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86_64/boot.oat",
805 to: "/system/framework/x86_64/boot.oat",
806 },
807 {
808 from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86_64/boot-core2.oat",
809 to: "/system/framework/x86_64/boot-core2.oat",
810 },
811 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900812 from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86_64/boot-framework.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100813 to: "/system/framework/x86_64/boot-framework.oat",
814 },
815 },
816 licenseMetadataFile: expectedLicenseMetadataFile,
817 },
818 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100819 archType: android.X86,
820 dexLocations: []string{
821 "host/linux-x86/apex/com.android.art/javalib/core1.jar",
822 "host/linux-x86/apex/com.android.art/javalib/core2.jar",
823 "host/linux-x86/system/framework/framework.jar",
824 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100825 dexLocationsDeps: []string{
826 "host/linux-x86/apex/com.android.art/javalib/core1.jar",
827 "host/linux-x86/apex/com.android.art/javalib/core2.jar",
828 "host/linux-x86/system/framework/framework.jar",
829 },
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100830 imagePathOnHost: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.art",
831 imagePathOnDevice: "/system/framework/x86/boot.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100832 imagesDeps: []string{
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100833 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.art",
834 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.oat",
835 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.vdex",
836 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.art",
837 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.oat",
838 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.vdex",
Jeongik Cha4753b392023-04-19 23:25:41 +0900839 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.art",
840 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.oat",
841 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100842 },
Paul Duffin8eb45732022-10-04 19:03:31 +0100843 installs: []normalizedInstall{
844 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100845 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.art",
846 to: "/system/framework/x86/boot.art",
847 },
848 {
849 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.oat",
850 to: "/system/framework/x86/boot.oat",
851 },
852 {
853 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.art",
854 to: "/system/framework/x86/boot-core2.art",
855 },
856 {
857 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.oat",
858 to: "/system/framework/x86/boot-core2.oat",
859 },
860 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900861 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.art",
Paul Duffin8eb45732022-10-04 19:03:31 +0100862 to: "/system/framework/x86/boot-framework.art",
863 },
864 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900865 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100866 to: "/system/framework/x86/boot-framework.oat",
867 },
868 },
869 vdexInstalls: []normalizedInstall{
870 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100871 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.vdex",
872 to: "/system/framework/x86/boot.vdex",
873 },
874 {
875 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.vdex",
876 to: "/system/framework/x86/boot-core2.vdex",
877 },
878 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900879 from: "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.vdex",
Paul Duffin8eb45732022-10-04 19:03:31 +0100880 to: "/system/framework/x86/boot-framework.vdex",
881 },
882 },
883 unstrippedInstalls: []normalizedInstall{
884 {
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100885 from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86/boot.oat",
886 to: "/system/framework/x86/boot.oat",
887 },
888 {
889 from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86/boot-core2.oat",
890 to: "/system/framework/x86/boot-core2.oat",
891 },
892 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900893 from: "out/soong/dexpreopt_arm64/dex_bootjars_unstripped/linux_glibc/system/framework/x86/boot-framework.oat",
Paul Duffin8eb45732022-10-04 19:03:31 +0100894 to: "/system/framework/x86/boot-framework.oat",
895 },
896 },
897 licenseMetadataFile: expectedLicenseMetadataFile,
898 },
899 },
900 profileInstalls: []normalizedInstall{
Jiakai Zhangcb13b5d2023-07-13 11:03:38 +0100901 {from: "out/soong/.intermediates/default/java/dex_bootjars/android_common/boot/boot.prof", to: "/system/etc/boot-image.prof"},
Jeongik Cha4753b392023-04-19 23:25:41 +0900902 {from: "out/soong/dexpreopt_arm64/dex_bootjars/boot.bprof", to: "/system/etc/boot-image.bprof"},
Paul Duffin8eb45732022-10-04 19:03:31 +0100903 },
904 profileLicenseMetadataFile: expectedLicenseMetadataFile,
905 }
906
Colin Cross84ed5112024-01-17 12:14:44 -0800907 checkBootImageConfig(t, result, imageConfig, mutated, expected)
Paul Duffin8eb45732022-10-04 19:03:31 +0100908}
909
Jiakai Zhangb8796202023-03-06 19:16:48 +0000910// getMainlineImageConfig gets the framework bootImageConfig that was created during the test.
911func getMainlineImageConfig(result *android.TestResult) *bootImageConfig {
912 pathCtx := &android.TestPathContext{TestResult: result}
913 imageConfig := mainlineBootImageConfig(pathCtx)
914 return imageConfig
915}
916
917// CheckMainlineBootImageConfig checks the status of the fields of the bootImageConfig and
918// bootImageVariant structures that are returned from mainlineBootImageConfig.
919//
920// This is before any fields are mutated.
921func CheckMainlineBootImageConfig(t *testing.T, result *android.TestResult) {
922 expectedLicenseMetadataFile := ""
923 imageConfig := getMainlineImageConfig(result)
924
925 expected := &expectedConfig{
926 name: "mainline",
927 stem: "boot",
Jeongik Cha4753b392023-04-19 23:25:41 +0900928 dir: "out/soong/dexpreopt_arm64/dex_mainlinejars",
929 symbolsDir: "out/soong/dexpreopt_arm64/dex_mainlinejars_unstripped",
Jiakai Zhang09d88df2023-05-10 17:04:53 +0100930 installDir: "system/framework",
Jiakai Zhangb8796202023-03-06 19:16:48 +0000931 profileInstallPathInApex: "",
932 modules: android.CreateTestConfiguredJarList([]string{
933 "com.android.foo:framework-foo",
934 "com.android.bar:framework-bar",
935 }),
936 dexPaths: []string{
Jeongik Cha4753b392023-04-19 23:25:41 +0900937 "out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-foo.jar",
938 "out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-bar.jar",
Jiakai Zhangb8796202023-03-06 19:16:48 +0000939 },
940 dexPathsDeps: []string{
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100941 "out/soong/dexpreopt_arm64/dex_bootjars_input/core1.jar",
942 "out/soong/dexpreopt_arm64/dex_bootjars_input/core2.jar",
Jeongik Cha4753b392023-04-19 23:25:41 +0900943 "out/soong/dexpreopt_arm64/dex_bootjars_input/framework.jar",
944 "out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-foo.jar",
945 "out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-bar.jar",
Jiakai Zhangb8796202023-03-06 19:16:48 +0000946 },
Jeongik Cha4753b392023-04-19 23:25:41 +0900947 zip: "out/soong/dexpreopt_arm64/dex_mainlinejars/mainline.zip",
Jiakai Zhangb8796202023-03-06 19:16:48 +0000948 variants: []*expectedVariant{
949 {
950 archType: android.Arm64,
951 dexLocations: []string{
952 "/apex/com.android.foo/javalib/framework-foo.jar",
953 "/apex/com.android.bar/javalib/framework-bar.jar",
954 },
955 dexLocationsDeps: []string{
956 "/apex/com.android.art/javalib/core1.jar",
957 "/apex/com.android.art/javalib/core2.jar",
958 "/system/framework/framework.jar",
959 "/apex/com.android.foo/javalib/framework-foo.jar",
960 "/apex/com.android.bar/javalib/framework-bar.jar",
961 },
Jeongik Cha4753b392023-04-19 23:25:41 +0900962 imagePathOnHost: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.art",
Jiakai Zhangb8796202023-03-06 19:16:48 +0000963 imagePathOnDevice: "/system/framework/arm64/boot-framework-foo.art",
964 imagesDeps: []string{
Jeongik Cha4753b392023-04-19 23:25:41 +0900965 "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.art",
966 "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.oat",
967 "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.vdex",
Jiakai Zhangb8796202023-03-06 19:16:48 +0000968 },
969 baseImages: []string{
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100970 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.art",
Jiakai Zhangb8796202023-03-06 19:16:48 +0000971 },
972 baseImagesDeps: []string{
Jiakai Zhangc08c1622023-05-10 18:38:34 +0100973 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.art",
974 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.oat",
975 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.vdex",
976 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.art",
977 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.oat",
978 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-core2.vdex",
Jeongik Cha4753b392023-04-19 23:25:41 +0900979 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.art",
980 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.oat",
981 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot-framework.vdex",
Jiakai Zhangb8796202023-03-06 19:16:48 +0000982 },
983 installs: []normalizedInstall{
984 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900985 from: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.art",
Jiakai Zhangb8796202023-03-06 19:16:48 +0000986 to: "/system/framework/arm64/boot-framework-foo.art",
987 },
988 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900989 from: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.oat",
Jiakai Zhangb8796202023-03-06 19:16:48 +0000990 to: "/system/framework/arm64/boot-framework-foo.oat",
991 },
992 },
993 vdexInstalls: []normalizedInstall{
994 {
Jeongik Cha4753b392023-04-19 23:25:41 +0900995 from: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.vdex",
Jiakai Zhangb8796202023-03-06 19:16:48 +0000996 to: "/system/framework/arm64/boot-framework-foo.vdex",
997 },
998 },
999 unstrippedInstalls: []normalizedInstall{
1000 {
Jeongik Cha4753b392023-04-19 23:25:41 +09001001 from: "out/soong/dexpreopt_arm64/dex_mainlinejars_unstripped/android/system/framework/arm64/boot-framework-foo.oat",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001002 to: "/system/framework/arm64/boot-framework-foo.oat",
1003 },
1004 },
1005 licenseMetadataFile: expectedLicenseMetadataFile,
1006 },
1007 {
1008 archType: android.Arm,
1009 dexLocations: []string{
1010 "/apex/com.android.foo/javalib/framework-foo.jar",
1011 "/apex/com.android.bar/javalib/framework-bar.jar",
1012 },
1013 dexLocationsDeps: []string{
1014 "/apex/com.android.art/javalib/core1.jar",
1015 "/apex/com.android.art/javalib/core2.jar",
1016 "/system/framework/framework.jar",
1017 "/apex/com.android.foo/javalib/framework-foo.jar",
1018 "/apex/com.android.bar/javalib/framework-bar.jar",
1019 },
Jeongik Cha4753b392023-04-19 23:25:41 +09001020 imagePathOnHost: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.art",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001021 imagePathOnDevice: "/system/framework/arm/boot-framework-foo.art",
1022 imagesDeps: []string{
Jeongik Cha4753b392023-04-19 23:25:41 +09001023 "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.art",
1024 "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.oat",
1025 "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.vdex",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001026 },
1027 baseImages: []string{
Jiakai Zhangc08c1622023-05-10 18:38:34 +01001028 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.art",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001029 },
1030 baseImagesDeps: []string{
Jiakai Zhangc08c1622023-05-10 18:38:34 +01001031 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.art",
1032 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.oat",
1033 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.vdex",
1034 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.art",
1035 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.oat",
1036 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-core2.vdex",
Jeongik Cha4753b392023-04-19 23:25:41 +09001037 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.art",
1038 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.oat",
1039 "out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot-framework.vdex",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001040 },
1041 installs: []normalizedInstall{
1042 {
Jeongik Cha4753b392023-04-19 23:25:41 +09001043 from: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.art",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001044 to: "/system/framework/arm/boot-framework-foo.art",
1045 },
1046 {
Jeongik Cha4753b392023-04-19 23:25:41 +09001047 from: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.oat",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001048 to: "/system/framework/arm/boot-framework-foo.oat",
1049 },
1050 },
1051 vdexInstalls: []normalizedInstall{
1052 {
Jeongik Cha4753b392023-04-19 23:25:41 +09001053 from: "out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.vdex",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001054 to: "/system/framework/arm/boot-framework-foo.vdex",
1055 },
1056 },
1057 unstrippedInstalls: []normalizedInstall{
1058 {
Jeongik Cha4753b392023-04-19 23:25:41 +09001059 from: "out/soong/dexpreopt_arm64/dex_mainlinejars_unstripped/android/system/framework/arm/boot-framework-foo.oat",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001060 to: "/system/framework/arm/boot-framework-foo.oat",
1061 },
1062 },
1063 licenseMetadataFile: expectedLicenseMetadataFile,
1064 },
1065 {
1066 archType: android.X86_64,
1067 dexLocations: []string{
1068 "host/linux-x86/apex/com.android.foo/javalib/framework-foo.jar",
1069 "host/linux-x86/apex/com.android.bar/javalib/framework-bar.jar",
1070 },
1071 dexLocationsDeps: []string{
1072 "host/linux-x86/apex/com.android.art/javalib/core1.jar",
1073 "host/linux-x86/apex/com.android.art/javalib/core2.jar",
1074 "host/linux-x86/system/framework/framework.jar",
1075 "host/linux-x86/apex/com.android.foo/javalib/framework-foo.jar",
1076 "host/linux-x86/apex/com.android.bar/javalib/framework-bar.jar",
1077 },
Jeongik Cha4753b392023-04-19 23:25:41 +09001078 imagePathOnHost: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.art",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001079 imagePathOnDevice: "/system/framework/x86_64/boot-framework-foo.art",
1080 imagesDeps: []string{
Jeongik Cha4753b392023-04-19 23:25:41 +09001081 "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.art",
1082 "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.oat",
1083 "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.vdex",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001084 },
1085 baseImages: []string{
Jiakai Zhangc08c1622023-05-10 18:38:34 +01001086 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.art",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001087 },
1088 baseImagesDeps: []string{
Jiakai Zhangc08c1622023-05-10 18:38:34 +01001089 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.art",
1090 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.oat",
1091 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.vdex",
1092 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.art",
1093 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.oat",
1094 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-core2.vdex",
Jeongik Cha4753b392023-04-19 23:25:41 +09001095 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.art",
1096 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.oat",
1097 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot-framework.vdex",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001098 },
1099 installs: []normalizedInstall{
1100 {
Jeongik Cha4753b392023-04-19 23:25:41 +09001101 from: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.art",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001102 to: "/system/framework/x86_64/boot-framework-foo.art",
1103 },
1104 {
Jeongik Cha4753b392023-04-19 23:25:41 +09001105 from: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.oat",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001106 to: "/system/framework/x86_64/boot-framework-foo.oat",
1107 },
1108 },
1109 vdexInstalls: []normalizedInstall{
1110 {
Jeongik Cha4753b392023-04-19 23:25:41 +09001111 from: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.vdex",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001112 to: "/system/framework/x86_64/boot-framework-foo.vdex",
1113 },
1114 },
1115 unstrippedInstalls: []normalizedInstall{
1116 {
Jeongik Cha4753b392023-04-19 23:25:41 +09001117 from: "out/soong/dexpreopt_arm64/dex_mainlinejars_unstripped/linux_glibc/system/framework/x86_64/boot-framework-foo.oat",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001118 to: "/system/framework/x86_64/boot-framework-foo.oat",
1119 },
1120 },
1121 licenseMetadataFile: expectedLicenseMetadataFile,
1122 },
1123 {
1124 archType: android.X86,
1125 dexLocations: []string{
1126 "host/linux-x86/apex/com.android.foo/javalib/framework-foo.jar",
1127 "host/linux-x86/apex/com.android.bar/javalib/framework-bar.jar",
1128 },
1129 dexLocationsDeps: []string{
1130 "host/linux-x86/apex/com.android.art/javalib/core1.jar",
1131 "host/linux-x86/apex/com.android.art/javalib/core2.jar",
1132 "host/linux-x86/system/framework/framework.jar",
1133 "host/linux-x86/apex/com.android.foo/javalib/framework-foo.jar",
1134 "host/linux-x86/apex/com.android.bar/javalib/framework-bar.jar",
1135 },
Jeongik Cha4753b392023-04-19 23:25:41 +09001136 imagePathOnHost: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.art",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001137 imagePathOnDevice: "/system/framework/x86/boot-framework-foo.art",
1138 imagesDeps: []string{
Jeongik Cha4753b392023-04-19 23:25:41 +09001139 "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.art",
1140 "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.oat",
1141 "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.vdex",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001142 },
1143 baseImages: []string{
Jiakai Zhangc08c1622023-05-10 18:38:34 +01001144 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.art",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001145 },
1146 baseImagesDeps: []string{
Jiakai Zhangc08c1622023-05-10 18:38:34 +01001147 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.art",
1148 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.oat",
1149 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.vdex",
1150 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.art",
1151 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.oat",
1152 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-core2.vdex",
Jeongik Cha4753b392023-04-19 23:25:41 +09001153 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.art",
1154 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.oat",
1155 "out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot-framework.vdex",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001156 },
1157 installs: []normalizedInstall{
1158 {
Jeongik Cha4753b392023-04-19 23:25:41 +09001159 from: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.art",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001160 to: "/system/framework/x86/boot-framework-foo.art",
1161 },
1162 {
Jeongik Cha4753b392023-04-19 23:25:41 +09001163 from: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.oat",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001164 to: "/system/framework/x86/boot-framework-foo.oat",
1165 },
1166 },
1167 vdexInstalls: []normalizedInstall{
1168 {
Jeongik Cha4753b392023-04-19 23:25:41 +09001169 from: "out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.vdex",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001170 to: "/system/framework/x86/boot-framework-foo.vdex",
1171 },
1172 },
1173 unstrippedInstalls: []normalizedInstall{
1174 {
Jeongik Cha4753b392023-04-19 23:25:41 +09001175 from: "out/soong/dexpreopt_arm64/dex_mainlinejars_unstripped/linux_glibc/system/framework/x86/boot-framework-foo.oat",
Jiakai Zhangb8796202023-03-06 19:16:48 +00001176 to: "/system/framework/x86/boot-framework-foo.oat",
1177 },
1178 },
1179 licenseMetadataFile: expectedLicenseMetadataFile,
1180 },
1181 },
1182 profileInstalls: []normalizedInstall{},
1183 profileLicenseMetadataFile: expectedLicenseMetadataFile,
1184 }
1185
Colin Cross84ed5112024-01-17 12:14:44 -08001186 checkBootImageConfig(t, result, imageConfig, false, expected)
Jiakai Zhangb8796202023-03-06 19:16:48 +00001187}
1188
Paul Duffin8eb45732022-10-04 19:03:31 +01001189// clearMutatedFields clears fields in the expectedConfig that correspond to fields in the
1190// bootImageConfig/bootImageVariant structs which are mutated outside the call to
1191// genBootImageConfigs.
1192//
1193// This allows the resulting expectedConfig struct to be compared against the values of those boot
1194// image structs immediately the call to genBootImageConfigs. If this is not called then the
1195// expectedConfig struct will expect the boot image structs to have been mutated by the ART
1196// bootclasspath_fragment and the platform_bootclasspath.
1197func clearMutatedFields(expected *expectedConfig) {
1198 expected.profileInstalls = nil
1199 expected.profileLicenseMetadataFile = ""
1200 for _, variant := range expected.variants {
1201 variant.installs = nil
1202 variant.vdexInstalls = nil
1203 variant.unstrippedInstalls = nil
1204 variant.licenseMetadataFile = ""
1205 }
1206}
1207
1208// checkBootImageConfig checks a boot image against the expected contents.
1209//
1210// If mutated is false then this will clear any mutated fields in the expected contents back to the
1211// zero value so that they will match the unmodified values in the boot image.
1212//
1213// It runs the checks in an image specific subtest of the current test.
Colin Cross84ed5112024-01-17 12:14:44 -08001214func checkBootImageConfig(t *testing.T, result *android.TestResult, imageConfig *bootImageConfig, mutated bool, expected *expectedConfig) {
Paul Duffin8eb45732022-10-04 19:03:31 +01001215 if !mutated {
1216 clearMutatedFields(expected)
1217 }
1218
1219 t.Run(imageConfig.name, func(t *testing.T) {
Colin Cross84ed5112024-01-17 12:14:44 -08001220 nestedCheckBootImageConfig(t, result, imageConfig, mutated, expected)
Paul Duffin8eb45732022-10-04 19:03:31 +01001221 })
1222}
1223
1224// nestedCheckBootImageConfig does the work of comparing the image against the expected values and
1225// is run in an image specific subtest.
Colin Cross84ed5112024-01-17 12:14:44 -08001226func nestedCheckBootImageConfig(t *testing.T, result *android.TestResult, imageConfig *bootImageConfig, mutated bool, expected *expectedConfig) {
Paul Duffin8eb45732022-10-04 19:03:31 +01001227 android.AssertStringEquals(t, "name", expected.name, imageConfig.name)
1228 android.AssertStringEquals(t, "stem", expected.stem, imageConfig.stem)
1229 android.AssertPathRelativeToTopEquals(t, "dir", expected.dir, imageConfig.dir)
1230 android.AssertPathRelativeToTopEquals(t, "symbolsDir", expected.symbolsDir, imageConfig.symbolsDir)
Jiakai Zhang09d88df2023-05-10 17:04:53 +01001231 android.AssertStringEquals(t, "installDir", expected.installDir, imageConfig.installDir)
Paul Duffin8eb45732022-10-04 19:03:31 +01001232 android.AssertDeepEquals(t, "modules", expected.modules, imageConfig.modules)
1233 android.AssertPathsRelativeToTopEquals(t, "dexPaths", expected.dexPaths, imageConfig.dexPaths.Paths())
1234 android.AssertPathsRelativeToTopEquals(t, "dexPathsDeps", expected.dexPathsDeps, imageConfig.dexPathsDeps.Paths())
1235 // dexPathsByModule is just a different representation of the other information in the config.
1236 android.AssertPathRelativeToTopEquals(t, "zip", expected.zip, imageConfig.zip)
Colin Cross84ed5112024-01-17 12:14:44 -08001237
1238 if !mutated {
1239 dexBootJarModule := result.ModuleForTests("dex_bootjars", "android_common")
1240 profileInstallInfo, _ := android.SingletonModuleProvider(result, dexBootJarModule.Module(), profileInstallInfoProvider)
1241 assertInstallsEqual(t, "profileInstalls", expected.profileInstalls, profileInstallInfo.profileInstalls)
1242 android.AssertStringEquals(t, "profileLicenseMetadataFile", expected.profileLicenseMetadataFile, profileInstallInfo.profileLicenseMetadataFile.RelativeToTop().String())
1243 }
Paul Duffin8eb45732022-10-04 19:03:31 +01001244
1245 android.AssertIntEquals(t, "variant count", 4, len(imageConfig.variants))
1246 for i, variant := range imageConfig.variants {
1247 expectedVariant := expected.variants[i]
1248 t.Run(variant.target.Arch.ArchType.String(), func(t *testing.T) {
1249 android.AssertDeepEquals(t, "archType", expectedVariant.archType, variant.target.Arch.ArchType)
1250 android.AssertDeepEquals(t, "dexLocations", expectedVariant.dexLocations, variant.dexLocations)
1251 android.AssertDeepEquals(t, "dexLocationsDeps", expectedVariant.dexLocationsDeps, variant.dexLocationsDeps)
1252 android.AssertPathRelativeToTopEquals(t, "imagePathOnHost", expectedVariant.imagePathOnHost, variant.imagePathOnHost)
1253 android.AssertStringEquals(t, "imagePathOnDevice", expectedVariant.imagePathOnDevice, variant.imagePathOnDevice)
1254 android.AssertPathsRelativeToTopEquals(t, "imagesDeps", expectedVariant.imagesDeps, variant.imagesDeps.Paths())
Jiakai Zhang8fe3a412023-02-23 17:37:16 +00001255 android.AssertPathsRelativeToTopEquals(t, "baseImages", expectedVariant.baseImages, variant.baseImages.Paths())
1256 android.AssertPathsRelativeToTopEquals(t, "baseImagesDeps", expectedVariant.baseImagesDeps, variant.baseImagesDeps)
Paul Duffin8eb45732022-10-04 19:03:31 +01001257 assertInstallsEqual(t, "installs", expectedVariant.installs, variant.installs)
1258 assertInstallsEqual(t, "vdexInstalls", expectedVariant.vdexInstalls, variant.vdexInstalls)
1259 assertInstallsEqual(t, "unstrippedInstalls", expectedVariant.unstrippedInstalls, variant.unstrippedInstalls)
1260 android.AssertStringEquals(t, "licenseMetadataFile", expectedVariant.licenseMetadataFile, variant.licenseMetadataFile.RelativeToTop().String())
1261 })
1262 }
1263}
1264
1265// CheckMutatedArtBootImageConfig checks the mutated fields in the bootImageConfig/Variant for ART.
1266func CheckMutatedArtBootImageConfig(t *testing.T, result *android.TestResult, expectedLicenseMetadataFile string) {
1267 checkArtBootImageConfig(t, result, true, expectedLicenseMetadataFile)
1268
1269 // Check the dexpreopt make vars. Do it in here as it depends on the expected license metadata
1270 // file at the moment and it
1271 checkDexpreoptMakeVars(t, result, expectedLicenseMetadataFile)
1272}
1273
1274// CheckMutatedFrameworkBootImageConfig checks the mutated fields in the bootImageConfig/Variant for framework.
1275func CheckMutatedFrameworkBootImageConfig(t *testing.T, result *android.TestResult, expectedLicenseMetadataFile string) {
1276 checkFrameworkBootImageConfig(t, result, true, expectedLicenseMetadataFile)
1277}
1278
1279// checkDexpreoptMakeVars checks the DEXPREOPT_ prefixed make vars produced by dexpreoptBootJars
1280// singleton.
1281func checkDexpreoptMakeVars(t *testing.T, result *android.TestResult, expectedLicenseMetadataFile string) {
1282 vars := result.MakeVarsForTesting(func(variable android.MakeVarVariable) bool {
1283 return strings.HasPrefix(variable.Name(), "DEXPREOPT_")
1284 })
1285
1286 out := &strings.Builder{}
1287 for _, v := range vars {
1288 fmt.Fprintf(out, "%s=%s\n", v.Name(), android.StringRelativeToTop(result.Config, v.Value()))
1289 }
1290 format := `
Jiakai Zhangc08c1622023-05-10 18:38:34 +01001291DEXPREOPT_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
Paul Duffin8eb45732022-10-04 19:03:31 +01001292DEXPREOPT_BOOTCLASSPATH_DEX_LOCATIONS=/apex/com.android.art/javalib/core1.jar /apex/com.android.art/javalib/core2.jar /system/framework/framework.jar
Jiakai Zhangc08c1622023-05-10 18:38:34 +01001293DEXPREOPT_BOOT_JARS_MODULES=com.android.art:core1:com.android.art:core2:platform:framework
Paul Duffin8eb45732022-10-04 19:03:31 +01001294DEXPREOPT_GEN=out/host/linux-x86/bin/dexpreopt_gen
Jiakai Zhang556bdf82023-07-12 16:51:57 +01001295DEXPREOPT_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
1296DEXPREOPT_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
1297DEXPREOPT_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
1298DEXPREOPT_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
Jiakai Zhangc08c1622023-05-10 18:38:34 +01001299DEXPREOPT_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
1300DEXPREOPT_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
1301DEXPREOPT_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
1302DEXPREOPT_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
Jeongik Cha4753b392023-04-19 23:25:41 +09001303DEXPREOPT_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
1304DEXPREOPT_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
1305DEXPREOPT_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
1306DEXPREOPT_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
Jiakai Zhang556bdf82023-07-12 16:51:57 +01001307DEXPREOPT_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
1308DEXPREOPT_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
1309DEXPREOPT_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
1310DEXPREOPT_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
Jiakai Zhangc08c1622023-05-10 18:38:34 +01001311DEXPREOPT_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
1312DEXPREOPT_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
1313DEXPREOPT_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
1314DEXPREOPT_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
Jeongik Cha4753b392023-04-19 23:25:41 +09001315DEXPREOPT_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
1316DEXPREOPT_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
1317DEXPREOPT_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
1318DEXPREOPT_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
Paul Duffin8eb45732022-10-04 19:03:31 +01001319DEXPREOPT_IMAGE_LICENSE_METADATA_art_arm=%[1]s
1320DEXPREOPT_IMAGE_LICENSE_METADATA_art_arm64=%[1]s
1321DEXPREOPT_IMAGE_LICENSE_METADATA_art_host_x86=%[1]s
1322DEXPREOPT_IMAGE_LICENSE_METADATA_art_host_x86_64=%[1]s
Jiakai Zhangcb13b5d2023-07-13 11:03:38 +01001323DEXPREOPT_IMAGE_LICENSE_METADATA_boot_arm=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic
1324DEXPREOPT_IMAGE_LICENSE_METADATA_boot_arm64=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic
1325DEXPREOPT_IMAGE_LICENSE_METADATA_boot_host_x86=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic
1326DEXPREOPT_IMAGE_LICENSE_METADATA_boot_host_x86_64=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic
1327DEXPREOPT_IMAGE_LICENSE_METADATA_mainline_arm=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic
1328DEXPREOPT_IMAGE_LICENSE_METADATA_mainline_arm64=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic
1329DEXPREOPT_IMAGE_LICENSE_METADATA_mainline_host_x86=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic
1330DEXPREOPT_IMAGE_LICENSE_METADATA_mainline_host_x86_64=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic
Jiakai Zhang09d88df2023-05-10 17:04:53 +01001331DEXPREOPT_IMAGE_LOCATIONS_ON_DEVICEart=/apex/art_boot_images/javalib/boot.art
Jiakai Zhangc08c1622023-05-10 18:38:34 +01001332DEXPREOPT_IMAGE_LOCATIONS_ON_DEVICEboot=/system/framework/boot.art
1333DEXPREOPT_IMAGE_LOCATIONS_ON_DEVICEmainline=/system/framework/boot.art:/system/framework/boot-framework-foo.art
Jeongik Cha4753b392023-04-19 23:25:41 +09001334DEXPREOPT_IMAGE_LOCATIONS_ON_HOSTart=out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/boot.art
Jiakai Zhangc08c1622023-05-10 18:38:34 +01001335DEXPREOPT_IMAGE_LOCATIONS_ON_HOSTboot=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/boot.art
1336DEXPREOPT_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
Jiakai Zhangb8796202023-03-06 19:16:48 +00001337DEXPREOPT_IMAGE_NAMES=art boot mainline
Jiakai Zhangcb13b5d2023-07-13 11:03:38 +01001338DEXPREOPT_IMAGE_PROFILE_BUILT_INSTALLED=out/soong/.intermediates/default/java/dex_bootjars/android_common/boot/boot.prof:/system/etc/boot-image.prof out/soong/dexpreopt_arm64/dex_bootjars/boot.bprof:/system/etc/boot-image.bprof
1339DEXPREOPT_IMAGE_PROFILE_LICENSE_METADATA=out/soong/.intermediates/default/java/dex_bootjars/android_common/meta_lic
Jiakai Zhang556bdf82023-07-12 16:51:57 +01001340DEXPREOPT_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
1341DEXPREOPT_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
1342DEXPREOPT_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
1343DEXPREOPT_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
Jiakai Zhangc08c1622023-05-10 18:38:34 +01001344DEXPREOPT_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
1345DEXPREOPT_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
1346DEXPREOPT_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
1347DEXPREOPT_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
Jeongik Cha4753b392023-04-19 23:25:41 +09001348DEXPREOPT_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
1349DEXPREOPT_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
1350DEXPREOPT_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
1351DEXPREOPT_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
Jiakai Zhang556bdf82023-07-12 16:51:57 +01001352DEXPREOPT_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
1353DEXPREOPT_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
1354DEXPREOPT_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
1355DEXPREOPT_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
Jiakai Zhangc08c1622023-05-10 18:38:34 +01001356DEXPREOPT_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
1357DEXPREOPT_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
1358DEXPREOPT_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
1359DEXPREOPT_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
Jeongik Cha4753b392023-04-19 23:25:41 +09001360DEXPREOPT_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
1361DEXPREOPT_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
1362DEXPREOPT_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
1363DEXPREOPT_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
1364DEXPREOPT_IMAGE_ZIP_art=out/soong/dexpreopt_arm64/dex_artjars/art.zip
1365DEXPREOPT_IMAGE_ZIP_boot=out/soong/dexpreopt_arm64/dex_bootjars/boot.zip
1366DEXPREOPT_IMAGE_ZIP_mainline=out/soong/dexpreopt_arm64/dex_mainlinejars/mainline.zip
1367DEXPREOPT_IMAGE_art_arm=out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm/boot.art
1368DEXPREOPT_IMAGE_art_arm64=out/soong/dexpreopt_arm64/dex_artjars/android/apex/art_boot_images/javalib/arm64/boot.art
1369DEXPREOPT_IMAGE_art_host_x86=out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86/boot.art
1370DEXPREOPT_IMAGE_art_host_x86_64=out/soong/dexpreopt_arm64/dex_artjars/linux_glibc/apex/art_boot_images/javalib/x86_64/boot.art
Jiakai Zhangc08c1622023-05-10 18:38:34 +01001371DEXPREOPT_IMAGE_boot_arm=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm/boot.art
1372DEXPREOPT_IMAGE_boot_arm64=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/arm64/boot.art
1373DEXPREOPT_IMAGE_boot_host_x86=out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86/boot.art
1374DEXPREOPT_IMAGE_boot_host_x86_64=out/soong/dexpreopt_arm64/dex_bootjars/linux_glibc/system/framework/x86_64/boot.art
Jeongik Cha4753b392023-04-19 23:25:41 +09001375DEXPREOPT_IMAGE_mainline_arm=out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm/boot-framework-foo.art
1376DEXPREOPT_IMAGE_mainline_arm64=out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/arm64/boot-framework-foo.art
1377DEXPREOPT_IMAGE_mainline_host_x86=out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86/boot-framework-foo.art
1378DEXPREOPT_IMAGE_mainline_host_x86_64=out/soong/dexpreopt_arm64/dex_mainlinejars/linux_glibc/system/framework/x86_64/boot-framework-foo.art
Paul Duffin8eb45732022-10-04 19:03:31 +01001379`
1380 expected := strings.TrimSpace(fmt.Sprintf(format, expectedLicenseMetadataFile))
1381 actual := strings.TrimSpace(out.String())
1382 android.AssertStringEquals(t, "vars", expected, actual)
1383}