1//########################################################################
2// Build PackageManagerServiceServerTests package
3//########################################################################
4
5package {
6    // See: http://go/android-license-faq
7    // A large-scale-change added 'default_applicable_licenses' to import
8    // all of the 'license_kinds' from "frameworks_base_license"
9    // to get the below license kinds:
10    //   SPDX-license-identifier-Apache-2.0
11    default_applicable_licenses: ["frameworks_base_license"],
12}
13
14android_test {
15    name: "PackageManagerServiceServerTests",
16
17    // Include all test java files.
18    srcs: [
19        "src/**/*.java",
20        "src/**/*.kt",
21    ],
22    static_libs: [
23        "frameworks-base-testutils",
24        "services.accessibility",
25        "services.appwidget",
26        "services.autofill",
27        "services.backup",
28        "services.companion",
29        "services.core",
30        "services.devicepolicy",
31        "services.net",
32        "services.people",
33        "services.usage",
34        "guava",
35        "androidx.test.core",
36        "androidx.test.ext.truth",
37        "androidx.test.runner",
38        "androidx.test.rules",
39        "cts-wm-util",
40        "platform-compat-test-rules",
41        "mockito-target-minus-junit4",
42        "platform-test-annotations",
43        "ShortcutManagerTestUtils",
44        "truth-prebuilt",
45        "testables",
46        "ub-uiautomator",
47        "platformprotosnano",
48        "framework-protos",
49        "hamcrest-library",
50        "servicestests-core-utils",
51        "servicestests-dpm-utils",
52        "servicestests-utils",
53        "service-permission.impl",
54        "testng",
55        "truth-prebuilt",
56        "junit",
57        "junit-params",
58        "platform-compat-test-rules",
59        "ActivityContext",
60        "coretests-aidl",
61    ],
62
63    libs: [
64        "android.hardware.power-V1-java",
65        "android.hardware.tv.cec-V1.0-java",
66        "android.hardware.vibrator-V2-java",
67        "android.hidl.manager-V1.0-java",
68        "android.test.mock",
69        "android.test.base",
70        "android.test.runner",
71    ],
72
73    platform_apis: true,
74
75    test_suites: [
76        "device-tests",
77        "automotive-tests",
78    ],
79
80    certificate: "platform",
81
82    // These are not normally accessible from apps so they must be explicitly included.
83    jni_libs: [
84        "libbase",
85        "libbinder",
86        "libc++",
87        "libcutils",
88        "liblog",
89        "liblzma",
90        "libnativehelper",
91        "libpsi",
92        "libui",
93        "libunwindstack",
94        "libutils",
95        "netd_aidl_interface-V5-cpp",
96    ],
97
98    dxflags: ["--multi-dex"],
99
100    java_resources: [
101        ":PackageParserTestApp1",
102        ":PackageParserTestApp2",
103        ":PackageParserTestApp3",
104        ":PackageParserTestApp4",
105        ":PackageParserTestApp5",
106        ":PackageParserTestApp6",
107    ],
108    resource_zips: [":PackageManagerServiceServerTests_apks_as_resources"],
109
110    data: [
111        ":StubTestApp",
112    ],
113}
114
115// Rules to copy all the test apks to the intermediate raw resource directory
116java_genrule {
117    name: "PackageManagerServiceServerTests_apks_as_resources",
118    srcs: [
119        ":FrameworksServicesTests_install",
120        ":FrameworksServicesTests_install_bad_dex",
121        ":FrameworksServicesTests_install_complete_package_info",
122        ":FrameworksServicesTests_install_decl_perm",
123        ":FrameworksServicesTests_install_intent_filters",
124        ":FrameworksServicesTests_install_loc_auto",
125        ":FrameworksServicesTests_install_loc_internal",
126        ":FrameworksServicesTests_install_loc_sdcard",
127        ":FrameworksServicesTests_install_loc_unspecified",
128        ":FrameworksServicesTests_install_use_perm_good",
129        ":FrameworksServicesTests_install_uses_feature",
130        ":FrameworksServicesTests_install_uses_sdk_0",
131        ":FrameworksServicesTests_install_uses_sdk_q0",
132        ":FrameworksServicesTests_install_uses_sdk_q0_r0",
133        ":FrameworksServicesTests_install_uses_sdk_r0",
134        ":FrameworksServicesTests_install_uses_sdk_r10000",
135        ":FrameworksServicesTests_install_uses_sdk_r_none",
136        ":FrameworksServicesTests_install_uses_sdk_r0_s0",
137        ":FrameworksServicesTests_install_uses_sdk_r0_s10000",
138        ":FrameworksServicesTests_keyset_permdef_sa_unone",
139        ":FrameworksServicesTests_keyset_permuse_sa_ua_ub",
140        ":FrameworksServicesTests_keyset_permuse_sb_ua_ub",
141        ":FrameworksServicesTests_keyset_sa_ua",
142        ":FrameworksServicesTests_keyset_sa_ua_ub",
143        ":FrameworksServicesTests_keyset_sa_uab",
144        ":FrameworksServicesTests_keyset_sa_ub",
145        ":FrameworksServicesTests_keyset_sa_unone",
146        ":FrameworksServicesTests_keyset_sab_ua",
147        ":FrameworksServicesTests_keyset_sau_ub",
148        ":FrameworksServicesTests_keyset_sb_ua",
149        ":FrameworksServicesTests_keyset_sb_ub",
150        ":FrameworksServicesTests_keyset_splat_api",
151        ":FrameworksServicesTests_keyset_splata_api",
152        ":FrameworksServicesTests_install_target_sdk_22",
153        ":FrameworksServicesTests_install_target_sdk_23",
154    ],
155    out: ["PackageManagerServiceServerTests_apks_as_resources.res.zip"],
156    tools: ["soong_zip"],
157
158    cmd: "mkdir -p $(genDir)/res/raw && " +
159        "for i in $(in); do " +
160        "  x=$${i##*FrameworksCoreTests_}; cp $$i $(genDir)/res/raw/$${x%.apk};" +
161        "  x=$${i##*FrameworksServicesTests_}; cp $$i $(genDir)/res/raw/$${x%.apk};" +
162        "done && " +
163        "$(location soong_zip) -o $(out) -C $(genDir)/res -D $(genDir)/res",
164}
165