blob: cb4981e7bf7a9e67941e32c66b39cad92e03e114 [file] [log] [blame]
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -07001// Copyright (C) 2018 The Android Open Source Project
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
Bob Badour4bdf3802021-02-12 17:08:17 -080015package {
Bob Badoura7548b52022-01-27 22:04:48 -080016 // See: http://go/android-license-faq
17 default_applicable_licenses: ["Android-Apache-2.0"],
Bob Badour4bdf3802021-02-12 17:08:17 -080018}
19
Sunny Goyal1fb271f2021-05-20 10:43:23 -070020min_launcher3_sdk_version = "26"
21
Thales Lima2c54bbf2022-07-12 15:45:10 +000022// Common source files used to build launcher (java and kotlin)
23// All sources are split so they can be reused in many other libraries/apps in other folders
24filegroup {
25 name: "launcher-src",
26 srcs: [ "src/**/*.java", "src/**/*.kt" ],
27}
28
29filegroup {
30 name: "launcher-quickstep-src",
31 srcs: [ "quickstep/src/**/*.java", "quickstep/src/**/*.kt" ],
32}
33
34filegroup {
35 name: "launcher-go-src",
36 srcs: [ "go/src/**/*.java", "go/src/**/*.kt" ],
37}
38
39filegroup {
40 name: "launcher-go-quickstep-src",
41 srcs: [ "go/quickstep/src/**/*.java", "go/quickstep/src/**/*.kt" ],
42}
43
44filegroup {
45 name: "launcher-src_shortcuts_overrides",
46 srcs: [ "src_shortcuts_overrides/**/*.java", "src_shortcuts_overrides/**/*.kt" ],
47}
48
49filegroup {
50 name: "launcher-src_ui_overrides",
51 srcs: [ "src_ui_overrides/**/*.java", "src_ui_overrides/**/*.kt" ],
52}
53
54filegroup {
55 name: "launcher-ext_tests",
56 srcs: [ "ext_tests/**/*.java", "ext_tests/**/*.kt" ],
57}
58
59filegroup {
60 name: "launcher-quickstep-ext_tests",
61 srcs: [ "quickstep/ext_tests/**/*.java", "quickstep/ext_tests/**/*.kt" ],
62}
63
64// Proguard files for Launcher3
65filegroup {
66 name: "launcher-proguard-rules",
67 srcs: ["proguard.flags"],
68}
69
vadimt09df0832019-03-07 14:59:30 -080070android_library {
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -070071 name: "launcher-aosp-tapl",
Thiru Ramasamyd495e8c2021-08-26 10:37:17 -070072 libs: [
73 "framework-statsd",
74 ],
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -070075 static_libs: [
76 "androidx.annotation_annotation",
Brett Chabotd7d692c2018-10-23 21:17:58 -070077 "androidx.test.runner",
78 "androidx.test.rules",
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -070079 "androidx.test.uiautomator_uiautomator",
Hyunyoung Songbb715822020-08-04 10:45:53 -070080 "androidx.preference_preference",
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -070081 "SystemUISharedLib",
Jon Miranda27f95592022-04-06 17:29:09 +000082 "SystemUIAnimationLib",
Nicolo' Mazzucatoe8ee34a2023-01-24 15:41:10 +000083 "launcher-testing-shared",
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -070084 ],
85 srcs: [
86 "tests/tapl/**/*.java",
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -070087 ],
Sunny Goyal572aca42021-03-24 15:21:39 -070088 resource_dirs: [ ],
vadimt09df0832019-03-07 14:59:30 -080089 manifest: "tests/tapl/AndroidManifest.xml",
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -070090 platform_apis: true,
91}
thiruram5e1ecf62019-11-13 17:49:35 -080092
93java_library_static {
thiruramc1c2bfa2020-02-04 18:56:40 -080094 name: "launcher_log_protos_lite",
thiruram5e1ecf62019-11-13 17:49:35 -080095 srcs: [
96 "protos/*.proto",
thiruramcbeb13d2021-01-27 14:45:58 -080097 "protos_overrides/*.proto",
thiruram5e1ecf62019-11-13 17:49:35 -080098 ],
99 sdk_version: "current",
100 proto: {
101 type: "lite",
102 local_include_dirs:[
103 "protos",
thiruramcbeb13d2021-01-27 14:45:58 -0800104 "protos_overrides",
thiruram5e1ecf62019-11-13 17:49:35 -0800105 ],
106 },
thiruramc1c2bfa2020-02-04 18:56:40 -0800107 static_libs: ["libprotobuf-java-lite"],
thiruram5e1ecf62019-11-13 17:49:35 -0800108}
Hyunyoung Song8605be32020-02-21 14:52:25 -0800109
thiruramcbeb13d2021-01-27 14:45:58 -0800110java_library_static {
111 name: "launcher_quickstep_log_protos_lite",
112 srcs: [
113 "quickstep/protos_overrides/*.proto",
114 ],
115 sdk_version: "current",
116 proto: {
117 type: "lite",
118 local_include_dirs:[
119 "quickstep/protos_overrides",
120 ],
121 },
122 static_libs: [
123 "libprotobuf-java-lite",
124 "launcher_log_protos_lite"
125 ],
126}
127
Hyunyoung Song8605be32020-02-21 14:52:25 -0800128java_library {
129 name: "LauncherPluginLib",
130
131 static_libs: ["PluginCoreLib"],
132
133 srcs: ["src_plugins/**/*.java"],
134
135 sdk_version: "current",
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700136 min_sdk_version: min_launcher3_sdk_version,
Hyunyoung Song8605be32020-02-21 14:52:25 -0800137}
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800138
Edward Crosse016d582018-07-31 15:17:57 +0200139java_import {
140 name: "libGoogleFeed",
141 jars: [
142 "libs/libGoogleFeed.jar",
143 ],
144}
145
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800146// Library with all the dependencies for building Launcher3
147android_library {
148 name: "Launcher3ResLib",
149 srcs: [ ],
150 resource_dirs: ["res"],
151 static_libs: [
152 "LauncherPluginLib",
153 "launcher_quickstep_log_protos_lite",
154 "androidx-constraintlayout_constraintlayout",
155 "androidx.recyclerview_recyclerview",
156 "androidx.dynamicanimation_dynamicanimation",
157 "androidx.fragment_fragment",
158 "androidx.preference_preference",
159 "androidx.slice_slice-view",
160 "androidx.cardview_cardview",
Brian Isganitis93031bc2021-06-09 16:34:45 -0400161 "com.google.android.material_material",
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800162 "iconloader_base",
Michael Bestas3803d3a2023-03-14 04:39:27 +0200163 "view_capture",
Edward Crosse016d582018-07-31 15:17:57 +0200164 "libGoogleFeed",
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800165 ],
166 manifest: "AndroidManifest-common.xml",
167 sdk_version: "current",
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700168 min_sdk_version: min_launcher3_sdk_version,
Pedro Loureiro1e296c12021-03-09 18:35:52 +0000169 lint: {
170 baseline_filename: "lint-baseline-res-lib.xml",
171 },
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800172}
173
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800174//
175// Build rule for Launcher3 dependencies lib.
176//
177android_library {
178 name: "Launcher3CommonDepsLib",
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800179 srcs: ["src_build_config/**/*.java"],
Nicolo' Mazzucatoe8ee34a2023-01-24 15:41:10 +0000180 static_libs: [
181 "Launcher3ResLib",
182 "launcher-testing-shared",
Michael Bestasce0bcfe2023-06-14 02:20:11 +0300183 "org.lineageos.platform"
Nicolo' Mazzucatoe8ee34a2023-01-24 15:41:10 +0000184 ],
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800185 sdk_version: "current",
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700186 min_sdk_version: min_launcher3_sdk_version,
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800187 manifest: "AndroidManifest-common.xml",
Pedro Loureiro1e296c12021-03-09 18:35:52 +0000188 lint: {
189 baseline_filename: "lint-baseline-common-deps-lib.xml",
190 },
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800191}
192
193//
194// Build rule for Launcher3 app.
195//
196android_app {
Alexander Martinzd97e43b2023-04-17 13:35:15 +0200197 name: "SHIFT-Home",
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800198
199 static_libs: [
200 "Launcher3CommonDepsLib",
201 ],
202 srcs: [
Thales Lima2c54bbf2022-07-12 15:45:10 +0000203 ":launcher-src",
204 ":launcher-src_shortcuts_overrides",
205 ":launcher-src_ui_overrides",
206 ":launcher-ext_tests",
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800207 ],
208 resource_dirs: [
209 "ext_tests/res",
210 ],
211 optimize: {
212 proguard_flags_files: ["proguard.flags"],
213 // Proguard is disable for testing. Derivarive prjects to keep proguard enabled
214 enabled: false,
215 },
216
217 sdk_version: "current",
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700218 min_sdk_version: min_launcher3_sdk_version,
219 target_sdk_version: "current",
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800220 privileged: true,
221 system_ext_specific: true,
222
223 overrides: [
224 "Home",
225 "Launcher2",
Alexander Martinzd97e43b2023-04-17 13:35:15 +0200226 "Trebuchet",
Nolen Johnson11c9ebd2022-09-27 17:08:57 -0400227 "QuickSearchBox",
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800228 ],
229 required: ["privapp_whitelist_com.android.launcher3"],
230
231 jacoco: {
232 include_filter: ["com.android.launcher3.**"],
233 },
234 additional_manifests: [
235 "AndroidManifest-common.xml",
236 ],
Pedro Loureiro1e296c12021-03-09 18:35:52 +0000237 lint: {
238 baseline_filename: "lint-baseline-launcher3.xml",
239 },
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800240}
241
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800242// Library with all the dependencies for building quickstep
243android_library {
244 name: "QuickstepResLib",
245 srcs: [ ],
246 resource_dirs: [
247 "quickstep/res",
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800248 ],
Thiru Ramasamyd495e8c2021-08-26 10:37:17 -0700249 libs: [
250 "framework-statsd",
251 ],
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800252 static_libs: [
253 "Launcher3ResLib",
Schneider Victor-tuliasd0865f82021-11-09 13:19:21 -0800254 "lottie",
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800255 "SystemUISharedLib",
256 "SystemUI-statsd",
Jon Miranda27f95592022-04-06 17:29:09 +0000257 "SystemUIAnimationLib",
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800258 ],
259 manifest: "quickstep/AndroidManifest.xml",
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700260 min_sdk_version: "current",
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800261}
262
263
Jon Spivacka65d68b2021-04-07 10:22:25 -0700264// Library with all the dependencies for building Launcher Go
265android_library {
266 name: "LauncherGoResLib",
267 srcs: [
Thales Lima2c54bbf2022-07-12 15:45:10 +0000268 ":launcher-src",
269 ":launcher-quickstep-src",
270 ":launcher-go-src",
271 ":launcher-go-quickstep-src",
Jon Spivacka65d68b2021-04-07 10:22:25 -0700272 ],
273 resource_dirs: [
274 "go/res",
275 "go/quickstep/res",
276 ],
Ben Murdochfabc8732021-12-02 18:22:17 +0000277 // Note the ordering here is important when it comes to resource
278 // overriding. We want the most specific resource overrides defined
279 // in QuickstepResLib to take precendece, so it should be the final
280 // dependency. See b/205278434 for how this can go wrong.
Jon Spivacka65d68b2021-04-07 10:22:25 -0700281 static_libs: [
Greg Kaiser6f220d92021-11-05 16:12:47 +0000282 "Launcher3CommonDepsLib",
Jon Spivacka65d68b2021-04-07 10:22:25 -0700283 "QuickstepResLib",
Jon Spivack89c21c72021-08-13 13:18:24 -0700284 "androidx.room_room-runtime",
Jon Spivacka65d68b2021-04-07 10:22:25 -0700285 ],
Jon Spivack89c21c72021-08-13 13:18:24 -0700286 plugins: ["androidx.room_room-compiler-plugin"],
Bruno Martins8c54c242023-10-02 23:05:29 +0100287 manifest: "go/AndroidManifest-launcher.xml",
Jon Spivacka65d68b2021-04-07 10:22:25 -0700288 additional_manifests: [
289 "go/AndroidManifest.xml",
290 "AndroidManifest-common.xml",
291 ],
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700292 min_sdk_version: "current",
Pedro Loureiro1e296c12021-03-09 18:35:52 +0000293 lint: {
294 baseline_filename: "lint-baseline-go-res-lib.xml",
295 },
Jon Spivacka65d68b2021-04-07 10:22:25 -0700296}
297
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700298// Build rule for Quickstep library
299android_library {
300 name: "Launcher3QuickStepLib",
301 srcs: [
Thales Lima2c54bbf2022-07-12 15:45:10 +0000302 ":launcher-src",
303 ":launcher-quickstep-src",
304 ":launcher-src_shortcuts_overrides",
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700305 ],
Thales Limac335ad22021-11-08 15:31:49 +0000306 resource_dirs: [],
Thiru Ramasamyd495e8c2021-08-26 10:37:17 -0700307 libs: [
308 "framework-statsd",
309 ],
Ben Murdochfabc8732021-12-02 18:22:17 +0000310 // Note the ordering here is important when it comes to resource
311 // overriding. We want the most specific resource overrides defined
312 // in QuickstepResLib to take precendece, so it should be the final
313 // dependency. See b/208647810 for how this can go wrong.
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700314 static_libs: [
315 "SystemUI-statsd",
316 "SystemUISharedLib",
Thales Limac335ad22021-11-08 15:31:49 +0000317 "Launcher3CommonDepsLib",
Ben Murdochfabc8732021-12-02 18:22:17 +0000318 "QuickstepResLib",
Jon Miranda27f95592022-04-06 17:29:09 +0000319 "SystemUIAnimationLib",
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700320 ],
321 manifest: "quickstep/AndroidManifest.xml",
322 platform_apis: true,
323 min_sdk_version: "current",
324 lint: {
325 baseline_filename: "lint-baseline-launcher3.xml",
326 },
327}
Thales Lima813834a2022-05-18 15:29:59 +0000328
329// Build rule for Launcher3 Go app for Android Go devices.
330android_app {
Alexander Martinzd97e43b2023-04-17 13:35:15 +0200331 name: "SHIFT-HomeGo",
Thales Lima813834a2022-05-18 15:29:59 +0000332
333 static_libs: ["Launcher3CommonDepsLib"],
334
335 srcs: [
Thales Lima2c54bbf2022-07-12 15:45:10 +0000336 ":launcher-src",
337 ":launcher-go-src",
338 ":launcher-src_ui_overrides",
Thales Lima813834a2022-05-18 15:29:59 +0000339 ],
340
341 resource_dirs: ["go/res"],
342
343 optimize: {
344 proguard_flags_files: ["proguard.flags"],
345 },
346
347 sdk_version: "current",
348 min_sdk_version: "current",
349 target_sdk_version: "current",
350 privileged: true,
351 system_ext_specific: true,
352 overrides: [
353 "Home",
354 "Launcher2",
355 "Launcher3",
356 "Launcher3QuickStep",
Michael Bestas1a99cb82022-12-06 18:04:18 +0200357 "Launcher3Go",
Alexander Martinzd97e43b2023-04-17 13:35:15 +0200358 "TrebuchetGo",
Michael Bestas1a99cb82022-12-06 18:04:18 +0200359 "QuickSearchBox",
Thales Lima813834a2022-05-18 15:29:59 +0000360 ],
361 required: ["privapp_whitelist_com.android.launcher3"],
362
363 additional_manifests: [
364 "AndroidManifest.xml",
365 "AndroidManifest-common.xml",
366 ],
367
368 manifest: "go/AndroidManifest.xml",
369 jacoco: {
370 include_filter: ["com.android.launcher3.*"],
371 }
372
373}
374
375// Build rule for Quickstep app.
376android_app {
Alexander Martinzd97e43b2023-04-17 13:35:15 +0200377 name: "SHIFT-HomeQuickStep",
Thales Lima813834a2022-05-18 15:29:59 +0000378
379 static_libs: ["Launcher3QuickStepLib"],
380 optimize: {
381 enabled: false,
382 },
383
384 platform_apis: true,
385 min_sdk_version: "current",
386 target_sdk_version: "current",
387
388 privileged: true,
389 system_ext_specific: true,
390 overrides: [
391 "Home",
392 "Launcher2",
393 "Launcher3",
Michael Bestas1a99cb82022-12-06 18:04:18 +0200394 "Launcher3QuickStep",
Alexander Martinzd97e43b2023-04-17 13:35:15 +0200395 "TrebuchetQuickStep",
Michael Bestas1a99cb82022-12-06 18:04:18 +0200396 "QuickSearchBox",
Thales Lima813834a2022-05-18 15:29:59 +0000397 ],
398 required: ["privapp_whitelist_com.android.launcher3"],
399
400 resource_dirs: ["quickstep/res"],
401
402 additional_manifests: [
403 "quickstep/AndroidManifest-launcher.xml",
404 "AndroidManifest-common.xml",
405 ],
406
407 manifest: "quickstep/AndroidManifest.xml",
408 jacoco: {
409 include_filter: ["com.android.launcher3.*"],
410 }
411
412}
413
414// Build rule for Launcher3 Go app with quickstep for Android Go devices.
415android_app {
Alexander Martinzd97e43b2023-04-17 13:35:15 +0200416 name: "SHIFT-HomeQuickStepGo",
Thales Lima813834a2022-05-18 15:29:59 +0000417
418 static_libs: [
419 "SystemUI-statsd",
420 "SystemUISharedLib",
421 "LauncherGoResLib",
422 ],
423
424 platform_apis: true,
425 min_sdk_version: "current",
426 target_sdk_version: "current",
427
Thales Lima2c54bbf2022-07-12 15:45:10 +0000428 srcs: [ ],
Thales Lima813834a2022-05-18 15:29:59 +0000429
430 resource_dirs: [
431 "go/quickstep/res",
432 "go/res",
433 "quickstep/res",
434 ],
435
436 optimize: {
437 proguard_flags_files: ["proguard.flags"],
438 enabled: true,
439 },
440
441 privileged: true,
442 system_ext_specific: true,
443 overrides: [
444 "Home",
445 "Launcher2",
446 "Launcher3",
447 "Launcher3QuickStep",
Michael Bestas1a99cb82022-12-06 18:04:18 +0200448 "Launcher3QuickStepGo",
Alexander Martinzd97e43b2023-04-17 13:35:15 +0200449 "TrebuchetQuickStepGo",
Michael Bestas1a99cb82022-12-06 18:04:18 +0200450 "QuickSearchBox",
Thales Lima813834a2022-05-18 15:29:59 +0000451 ],
452 required: ["privapp_whitelist_com.android.launcher3"],
453
454 additional_manifests: [
455 "go/AndroidManifest.xml",
456 "go/AndroidManifest-launcher.xml",
457 "AndroidManifest-common.xml",
458 ],
459
460 manifest: "quickstep/AndroidManifest.xml",
461 jacoco: {
462 include_filter: ["com.android.launcher3.*"],
463 }
464
465}
466