Output dex_preopt to SDK snapshot.

This is needed to determine whether we need to deapex the profile or
not.

Bug: 241823638
Test: m nothing
Test: -
  1. Patch ag/20582608 PS2.
  2. TARGET_BUILD_APPS=com.android.wifi packages/modules/common/build/mainline_modules_sdks.sh
  3. See the `dex_preopt` property being written.
Change-Id: I05177388c24be1ab315247ea85e7e3a8600cebd3
This commit is contained in:
Jiakai Zhang
2023-02-09 00:09:24 +08:00
parent 8916b21320
commit 9c4dc19f4e
5 changed files with 101 additions and 3 deletions

View File

@@ -33,7 +33,8 @@ var prepareForSdkTestWithJava = android.GroupFixturePreparers(
// Files needs by most of the tests.
android.MockFS{
"Test.java": nil,
"Test.java": nil,
"art-profile": nil,
}.AddToFixture(),
)

View File

@@ -62,6 +62,9 @@ func testSnapshotWithSystemServerClasspathFragment(t *testing.T, sdk string, tar
min_sdk_version: "2",
compile_dex: true,
permitted_packages: ["mylib"],
dex_preopt: {
profile: "art-profile",
},
}
java_sdk_library {
@@ -71,6 +74,9 @@ func testSnapshotWithSystemServerClasspathFragment(t *testing.T, sdk string, tar
shared_library: false,
public: {enabled: true},
min_sdk_version: "2",
dex_preopt: {
profile: "art-profile",
},
}
`),
).RunTest(t)
@@ -105,6 +111,9 @@ java_sdk_library_import {
visibility: ["//visibility:public"],
apex_available: ["myapex"],
shared_library: false,
dex_preopt: {
profile_guided: true,
},
public: {
jars: ["sdk_library/public/mysdklibrary-stubs.jar"],
stub_srcs: ["sdk_library/public/mysdklibrary_stub_sources"],
@@ -122,6 +131,9 @@ java_import {
jars: ["java_systemserver_libs/snapshot/jars/are/invalid/mylib.jar"],
min_sdk_version: "2",
permitted_packages: ["mylib"],
dex_preopt: {
profile_guided: true,
},
}
prebuilt_systemserverclasspath_fragment {
@@ -186,6 +198,54 @@ java_import {
permitted_packages: ["mylib"],
}
prebuilt_systemserverclasspath_fragment {
name: "mysystemserverclasspathfragment",
prefer: false,
visibility: ["//visibility:public"],
apex_available: ["myapex"],
contents: [
"mylib",
"mysdklibrary",
],
}
`)
})
t.Run("target-u", func(t *testing.T) {
testSnapshotWithSystemServerClasspathFragment(t, commonSdk, "UpsideDownCake", `
// This is auto-generated. DO NOT EDIT.
java_sdk_library_import {
name: "mysdklibrary",
prefer: false,
visibility: ["//visibility:public"],
apex_available: ["myapex"],
shared_library: false,
dex_preopt: {
profile_guided: true,
},
public: {
jars: ["sdk_library/public/mysdklibrary-stubs.jar"],
stub_srcs: ["sdk_library/public/mysdklibrary_stub_sources"],
current_api: "sdk_library/public/mysdklibrary.txt",
removed_api: "sdk_library/public/mysdklibrary-removed.txt",
sdk_version: "current",
},
}
java_import {
name: "mylib",
prefer: false,
visibility: ["//visibility:public"],
apex_available: ["myapex"],
jars: ["java_systemserver_libs/snapshot/jars/are/invalid/mylib.jar"],
min_sdk_version: "2",
permitted_packages: ["mylib"],
dex_preopt: {
profile_guided: true,
},
}
prebuilt_systemserverclasspath_fragment {
name: "mysystemserverclasspathfragment",
prefer: false,