xref: /aosp_15_r20/cts/common/device-side/bedstead/testapp/Android.bp (revision b7c941bb3fa97aba169d73cee0bed2de8ac964bf)
1package {
2    default_team: "trendy_team_enterprise",
3    default_applicable_licenses: ["Android-Apache-2.0"],
4}
5
6java_library_static {
7    name: "TestApp_JavaProtos",
8    sdk_version: "core_current",
9    host_supported: true,
10    proto: {
11        type: "lite",
12    },
13    srcs: ["src/library/main/proto/testapp_protos.proto"],
14}
15
16android_library {
17    name: "TestApp_TestApps",
18    sdk_version: "system_current",
19    srcs: [
20        "src/testapps/main/java/**/*.java",
21        "src/testapps/main/java/**/*.kt",
22    ],
23    static_libs: [
24        "EventLib",
25        "TestApp_Annotations",
26        "ConnectedAppsSDK",
27        "ConnectedAppsSDK_Annotations",
28        "androidx.annotation_annotation",
29        "RemoteFrameworkClasses",
30        "TestApisReflection",
31    ],
32    manifest: "src/testapps/main/AndroidManifest.xml",
33    min_sdk_version: "29",
34    plugins: [
35        "ConnectedAppsSDK_Processor",
36        "TestApp_Processor",
37    ],
38    lint: {
39        baseline_filename: "lint-baseline.xml",
40    },
41}
42
43android_library {
44    name: "TestApp",
45    sdk_version: "system_current",
46    srcs: [
47        "src/library/main/java/**/*.java",
48        "src/library/main/java/**/*.kt",
49    ],
50    static_libs: [
51        "Nene",
52        "EventLib",
53        "Queryable",
54        "TestApp_Annotations",
55        "ConnectedAppsSDK",
56        "ConnectedAppsSDK_Annotations",
57        "androidx.annotation_annotation",
58        "TestApp_TestApps",
59        "TestApp_JavaProtos",
60        "QueryableCommonAndroid",
61        "auto_value_annotations",
62    ],
63    manifest: "src/library/main/AndroidManifest.xml",
64    min_sdk_version: "29",
65    assets: [
66        ":TestApp_Apps",
67        ":TestApp_Metadata_Resources",
68    ],
69    plugins: [
70        "ConnectedAppsSDK_Processor",
71        "TestApp_Processor",
72        "auto_annotation_plugin",
73    ],
74}
75
76android_test {
77    name: "TestAppTest",
78    srcs: [
79        "src/test/java/**/*.java",
80        "src/test/java/**/*.kt",
81    ],
82    test_suites: [
83        "general-tests",
84    ],
85    static_libs: [
86        "Nene",
87        "TestApp",
88        "TestApp_TestApps",
89        "bedstead",
90        "bedstead-enterprise",
91        "EventLib",
92        "androidx.test.ext.junit",
93        "truth",
94        "testng", // for assertThrows
95        "bedstead-performance-analyzer",
96    ],
97    manifest: "src/test/AndroidManifest.xml",
98    min_sdk_version: "29",
99    plugins: ["auto_annotation_plugin"],
100}
101
102python_binary_host {
103    name: "index_testapps",
104    version: {
105        py3: {
106            embedded_launcher: true,
107        },
108    },
109    main: "tools/index/index_testapps.py",
110    srcs: [
111        "tools/index/index_testapps.py",
112        "src/library/main/proto/testapp_protos.proto",
113    ],
114    proto: {
115        canonical_path_from_root: false,
116    },
117}
118
119java_genrule {
120    name: "TestApp_Apps",
121    srcs: [
122        ":EmptyTestApp",
123        ":NotEmptyTestApp",
124        ":DeviceAdminTestApp",
125        ":TestOnlyDeviceAdminTestApp",
126        ":LockTaskApp",
127        ":DelegateTestApp",
128        ":ContentTestApp",
129        ":DevicePolicyManagementRoleHolderTestApp",
130        ":RemoteDPCTestApp",
131        ":RemoteDPCTestAppTargetingV28",
132        ":RemoteDPCTestAppTargetingV30",
133        ":DialerApp",
134        ":SmsApp",
135        ":AccountManagementApp",
136        ":RemoteAccountAuthenticatorApp",
137        ":MLCTestApp",
138        ":MultipleActivitiesTestApp",
139        ":HeadlessDOSingleUserTestApp",
140        ":RemoteDeviceAdminTestApp",
141    ],
142    out: [
143        "testapps/index.txt",
144        "testapps/EmptyTestApp.apk",
145        "testapps/NotEmptyTestApp.apk",
146        "testapps/DeviceAdminTestApp.apk",
147        "testapps/TestOnlyDeviceAdminTestApp.apk",
148        "testapps/LockTaskApp.apk",
149        "testapps/DelegateTestApp.apk",
150        "testapps/ContentTestApp.apk",
151        "testapps/DevicePolicyManagementRoleHolderTestApp.apk",
152        "testapps/RemoteDPCTestApp.apk",
153        "testapps/RemoteDPCTestAppTargetingV28.apk",
154        "testapps/RemoteDPCTestAppTargetingV30.apk",
155        "testapps/DialerApp.apk",
156        "testapps/SmsApp.apk",
157        "testapps/AccountManagementApp.apk",
158        "testapps/RemoteAccountAuthenticatorApp.apk",
159        "testapps/MLCTestApp.apk",
160        "testapps/MultipleActivitiesTestApp.apk",
161        "testapps/HeadlessDOSingleUserTestApp.apk",
162        "testapps/RemoteDeviceAdminTestApp.apk",
163    ],
164    tools: [
165        "index_testapps",
166        "aapt2",
167    ],
168    cmd: "mkdir -p $(genDir)/testapps" +
169        " && cp $(location :EmptyTestApp) $(genDir)/testapps" +
170        " && cp $(location :NotEmptyTestApp) $(genDir)/testapps" +
171        " && cp $(location :DeviceAdminTestApp) $(genDir)/testapps" +
172        " && cp $(location :TestOnlyDeviceAdminTestApp) $(genDir)/testapps" +
173        " && cp $(location :LockTaskApp) $(genDir)/testapps" +
174        " && cp $(location :DelegateTestApp) $(genDir)/testapps" +
175        " && cp $(location :ContentTestApp) $(genDir)/testapps" +
176        " && cp $(location :DevicePolicyManagementRoleHolderTestApp) $(genDir)/testapps" +
177        " && cp $(location :RemoteDPCTestApp) $(genDir)/testapps" +
178        " && cp $(location :RemoteDPCTestAppTargetingV28) $(genDir)/testapps" +
179        " && cp $(location :RemoteDPCTestAppTargetingV30) $(genDir)/testapps" +
180        " && cp $(location :DialerApp) $(genDir)/testapps" +
181        " && cp $(location :SmsApp) $(genDir)/testapps" +
182        " && cp $(location :AccountManagementApp) $(genDir)/testapps" +
183        " && cp $(location :RemoteAccountAuthenticatorApp) $(genDir)/testapps" +
184        " && cp $(location :MLCTestApp) $(genDir)/testapps" +
185        " && cp $(location :MultipleActivitiesTestApp) $(genDir)/testapps" +
186        " && cp $(location :HeadlessDOSingleUserTestApp) $(genDir)/testapps" +
187        " && cp $(location :RemoteDeviceAdminTestApp) $(genDir)/testapps" +
188        " && $(location index_testapps) --directory $(genDir)/testapps --aapt2 $(location aapt2)",
189}
190
191java_genrule {
192    name: "TestApp_Metadata_Resources",
193    srcs: [
194        "src/testapps/main/res/**/xml/*",
195    ],
196    out: [
197        "resources/device_admin.xml",
198        "resources/headless_single_user_device_admin.xml",
199        "resources/no_headless_device_owner_device_admin.xml",
200        "resources/test_xml.xml",
201    ],
202    cmd: "mkdir -p $(genDir)/resources" +
203        " && cp $(in) $(genDir)/resources",
204}
205
206android_test_helper_app {
207    name: "EmptyTestApp",
208    static_libs: [
209        "TestApp_TestApps",
210    ],
211    defaults: ["mts-target-sdk-version-current"],
212    manifest: "manifests/EmptyTestAppManifest.xml",
213    min_sdk_version: "29",
214    sdk_version: "system_current",
215}
216
217android_test_helper_app {
218    name: "NotEmptyTestApp",
219    static_libs: [
220        "TestApp_TestApps",
221    ],
222    resource_dirs: ["src/testapps/main/res/test_resources"],
223    defaults: ["mts-target-sdk-version-current"],
224    manifest: "manifests/NotEmptyTestAppManifest.xml",
225    additional_manifests: ["CommonManifest.xml"],
226    min_sdk_version: "29",
227    sdk_version: "system_current",
228}
229
230android_test_helper_app {
231    name: "DeviceAdminTestApp",
232    static_libs: [
233        "TestApp_TestApps",
234    ],
235    defaults: ["mts-target-sdk-version-current"],
236    resource_dirs: ["src/testapps/main/res/device_admin"],
237    manifest: "manifests/DeviceAdminManifest.xml",
238    additional_manifests: ["CommonManifest.xml"],
239    min_sdk_version: "29",
240    sdk_version: "system_current",
241}
242
243android_test_helper_app {
244    name: "HeadlessDOSingleUserTestApp",
245    static_libs: [
246        "TestApp_TestApps",
247    ],
248    defaults: ["mts-target-sdk-version-current"],
249    resource_dirs: ["src/testapps/main/res/device_admin"],
250    manifest: "manifests/HeadlessDOSingleUserManifest.xml",
251    additional_manifests: ["CommonManifest.xml"],
252    min_sdk_version: "29",
253    sdk_version: "test_current",
254}
255
256android_test_helper_app {
257    name: "TestOnlyDeviceAdminTestApp",
258    static_libs: [
259        "TestApp_TestApps",
260    ],
261    defaults: ["mts-target-sdk-version-current"],
262    resource_dirs: ["src/testapps/main/res/device_admin"],
263    manifest: "manifests/TestOnlyDeviceAdminManifest.xml",
264    additional_manifests: ["CommonManifest.xml"],
265    min_sdk_version: "29",
266    sdk_version: "system_current",
267}
268
269android_test_helper_app {
270    name: "LockTaskApp",
271    static_libs: [
272        "TestApp_TestApps",
273    ],
274    defaults: ["mts-target-sdk-version-current"],
275    manifest: "manifests/LockTaskAppManifest.xml",
276    additional_manifests: ["CommonManifest.xml"],
277    min_sdk_version: "29",
278    sdk_version: "system_current",
279}
280
281android_test_helper_app {
282    name: "DelegateTestApp",
283    static_libs: [
284        "TestApp_TestApps",
285    ],
286    defaults: ["mts-target-sdk-version-current"],
287    manifest: "manifests/DelegateManifest.xml",
288    additional_manifests: ["CommonManifest.xml"],
289    min_sdk_version: "29",
290    sdk_version: "system_current",
291}
292
293android_test_helper_app {
294    name: "ContentTestApp",
295    static_libs: [
296        "TestApp_TestApps",
297    ],
298    defaults: ["mts-target-sdk-version-current"],
299    manifest: "manifests/ContentAppManifest.xml",
300    additional_manifests: ["CommonManifest.xml"],
301    min_sdk_version: "29",
302    sdk_version: "system_current",
303}
304
305android_test_helper_app {
306    name: "DevicePolicyManagementRoleHolderTestApp",
307    static_libs: [
308        "TestApp_TestApps",
309    ],
310    defaults: ["mts-target-sdk-version-current"],
311    manifest: "manifests/DevicePolicyManagementRoleHolderManifest.xml",
312    additional_manifests: ["CommonManifest.xml"],
313    resource_dirs: ["src/testapps/main/res/device_admin"],
314    min_sdk_version: "29",
315    sdk_version: "system_current",
316}
317
318android_test_helper_app {
319    name: "RemoteDPCTestApp",
320    static_libs: [
321        "TestApp_TestApps",
322    ],
323    defaults: ["mts-target-sdk-version-current"],
324    resource_dirs: ["src/testapps/main/res/device_admin"],
325    manifest: "manifests/RemoteDPCManifest.xml",
326    additional_manifests: ["CommonManifest.xml"],
327    min_sdk_version: "29",
328    sdk_version: "system_current",
329    target_sdk_version: "35",
330}
331
332android_test_helper_app {
333    name: "RemoteDPCTestAppTargetingV28",
334    static_libs: [
335        "TestApp_TestApps",
336    ],
337    resource_dirs: ["src/testapps/main/res/device_admin"],
338    manifest: "manifests/RemoteDPCManifest.xml",
339    additional_manifests: ["CommonManifest.xml"],
340    aaptflags: [
341        "--rename-manifest-package com.android.cts.RemoteDPCV28",
342    ],
343    min_sdk_version: "29",
344    target_sdk_version: "28",
345}
346
347android_test_helper_app {
348    name: "RemoteDPCTestAppTargetingV30",
349    static_libs: [
350        "TestApp_TestApps",
351    ],
352    resource_dirs: ["src/testapps/main/res/device_admin"],
353    manifest: "manifests/RemoteDPCManifest.xml",
354    additional_manifests: ["CommonManifest.xml"],
355    aaptflags: [
356        "--rename-manifest-package com.android.cts.RemoteDPCV30",
357    ],
358    min_sdk_version: "30",
359    target_sdk_version: "30",
360}
361
362android_test_helper_app {
363    name: "DialerApp",
364    static_libs: [
365        "TestApp_TestApps",
366    ],
367    defaults: ["mts-target-sdk-version-current"],
368    manifest: "manifests/DialerAppManifest.xml",
369    additional_manifests: ["CommonManifest.xml"],
370    min_sdk_version: "29",
371    sdk_version: "system_current",
372}
373
374android_test_helper_app {
375    name: "SmsApp",
376    static_libs: [
377        "TestApp_TestApps",
378    ],
379    defaults: ["mts-target-sdk-version-current"],
380    manifest: "manifests/SmsAppManifest.xml",
381    additional_manifests: ["CommonManifest.xml"],
382    min_sdk_version: "29",
383    sdk_version: "system_current",
384}
385
386android_test_helper_app {
387    name: "AccountManagementApp",
388    static_libs: [
389        "TestApp_TestApps",
390    ],
391    defaults: ["mts-target-sdk-version-current"],
392    resource_dirs: ["src/testapps/main/res/accountmanagement"],
393    manifest: "manifests/AccountManagementManifest.xml",
394    additional_manifests: ["CommonManifest.xml"],
395    min_sdk_version: "29",
396    sdk_version: "system_current",
397}
398
399android_test_helper_app {
400    name: "MLCTestApp",
401    static_libs: [
402        "TestApp_TestApps",
403    ],
404    defaults: ["mts-target-sdk-version-current"],
405    manifest: "manifests/MLCTestAppManifest.xml",
406    resource_dirs: ["src/testapps/main/res/mlctestapp"],
407    additional_manifests: ["CommonManifest.xml"],
408    min_sdk_version: "29",
409    sdk_version: "system_current",
410}
411
412android_test_helper_app {
413    name: "RemoteAccountAuthenticatorApp",
414    static_libs: [
415        "TestApp_TestApps",
416    ],
417    defaults: ["mts-target-sdk-version-current"],
418    resource_dirs: ["src/testapps/main/res/accountmanagement"],
419    manifest: "manifests/RemoteAccountAuthenticatorManifest.xml",
420    additional_manifests: ["CommonManifest.xml"],
421    min_sdk_version: "29",
422    sdk_version: "system_current",
423}
424
425android_test_helper_app {
426    name: "MultipleActivitiesTestApp",
427    static_libs: [
428        "TestApp_TestApps",
429    ],
430    defaults: ["mts-target-sdk-version-current"],
431    manifest: "manifests/MultipleActivitiesTestAppManifest.xml",
432    additional_manifests: ["CommonManifest.xml"],
433    min_sdk_version: "29",
434}
435
436android_test_helper_app {
437    name: "RemoteDeviceAdminTestApp",
438    static_libs: [
439        "TestApp_TestApps",
440    ],
441    resource_dirs: ["src/testapps/main/res/device_admin"],
442    manifest: "manifests/deviceadmin/RemoteDeviceAdminManifest.xml",
443    additional_manifests: ["CommonManifest.xml"],
444    min_sdk_version: "29",
445}
446
447java_library {
448    name: "TestApp_Annotations",
449    sdk_version: "core_current",
450    srcs: [
451        "src/processor/main/java/com/android/bedstead/testapp/processor/annotations/*.java",
452        "src/processor/main/java/com/android/bedstead/testapp/processor/annotations/*.kt",
453    ],
454    host_supported: true,
455}
456
457java_plugin {
458    name: "TestApp_Processor",
459    processor_class: "com.android.bedstead.testapp.processor.Processor",
460    static_libs: [
461        "javapoet",
462        "auto_service_annotations",
463        "TestApp_Annotations",
464        "ConnectedAppsSDK_Annotations",
465        "RemoteFrameworkClasses_Processor_Src",
466    ],
467    srcs: [
468        "src/processor/main/java/com/android/bedstead/testapp/processor/Processor.java",
469    ],
470    plugins: ["auto_service_plugin"],
471    generates_api: true,
472}
473