blob: 0bbb3d2c1e6605151e8701ac8e0d4a2f25ca947e [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",
Hyunyoung Songda4fcfe2018-09-05 09:57:59 -070083 ],
84 srcs: [
85 "tests/tapl/**/*.java",
vadimtf6ef8792022-07-26 13:54:31 -070086 "src/com/android/launcher3/testing/shared/**/*.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
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800139// Library with all the dependencies for building Launcher3
140android_library {
141 name: "Launcher3ResLib",
142 srcs: [ ],
143 resource_dirs: ["res"],
144 static_libs: [
145 "LauncherPluginLib",
146 "launcher_quickstep_log_protos_lite",
147 "androidx-constraintlayout_constraintlayout",
148 "androidx.recyclerview_recyclerview",
149 "androidx.dynamicanimation_dynamicanimation",
150 "androidx.fragment_fragment",
151 "androidx.preference_preference",
152 "androidx.slice_slice-view",
153 "androidx.cardview_cardview",
Brian Isganitis93031bc2021-06-09 16:34:45 -0400154 "com.google.android.material_material",
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800155 "iconloader_base",
Johannes Gallmann6518efc2022-10-04 11:57:37 +0000156 "view_capture"
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800157 ],
158 manifest: "AndroidManifest-common.xml",
159 sdk_version: "current",
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700160 min_sdk_version: min_launcher3_sdk_version,
Pedro Loureiro1e296c12021-03-09 18:35:52 +0000161 lint: {
162 baseline_filename: "lint-baseline-res-lib.xml",
163 },
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800164}
165
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800166//
167// Build rule for Launcher3 dependencies lib.
168//
169android_library {
170 name: "Launcher3CommonDepsLib",
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800171 srcs: ["src_build_config/**/*.java"],
172 static_libs: ["Launcher3ResLib"],
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800173 sdk_version: "current",
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700174 min_sdk_version: min_launcher3_sdk_version,
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800175 manifest: "AndroidManifest-common.xml",
Pedro Loureiro1e296c12021-03-09 18:35:52 +0000176 lint: {
177 baseline_filename: "lint-baseline-common-deps-lib.xml",
178 },
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800179}
180
181//
182// Build rule for Launcher3 app.
183//
184android_app {
185 name: "Launcher3",
186
187 static_libs: [
188 "Launcher3CommonDepsLib",
189 ],
190 srcs: [
Thales Lima2c54bbf2022-07-12 15:45:10 +0000191 ":launcher-src",
192 ":launcher-src_shortcuts_overrides",
193 ":launcher-src_ui_overrides",
194 ":launcher-ext_tests",
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800195 ],
196 resource_dirs: [
197 "ext_tests/res",
198 ],
199 optimize: {
200 proguard_flags_files: ["proguard.flags"],
201 // Proguard is disable for testing. Derivarive prjects to keep proguard enabled
202 enabled: false,
203 },
204
205 sdk_version: "current",
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700206 min_sdk_version: min_launcher3_sdk_version,
207 target_sdk_version: "current",
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800208 privileged: true,
209 system_ext_specific: true,
210
211 overrides: [
212 "Home",
213 "Launcher2",
214 ],
215 required: ["privapp_whitelist_com.android.launcher3"],
216
217 jacoco: {
218 include_filter: ["com.android.launcher3.**"],
219 },
220 additional_manifests: [
221 "AndroidManifest-common.xml",
222 ],
Pedro Loureiro1e296c12021-03-09 18:35:52 +0000223 lint: {
224 baseline_filename: "lint-baseline-launcher3.xml",
225 },
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800226}
227
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800228// Library with all the dependencies for building quickstep
229android_library {
230 name: "QuickstepResLib",
231 srcs: [ ],
232 resource_dirs: [
233 "quickstep/res",
Hyunyoung Song5a007fe2021-02-25 00:58:05 -0800234 ],
Thiru Ramasamyd495e8c2021-08-26 10:37:17 -0700235 libs: [
236 "framework-statsd",
237 ],
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800238 static_libs: [
239 "Launcher3ResLib",
Schneider Victor-tuliasd0865f82021-11-09 13:19:21 -0800240 "lottie",
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800241 "SystemUISharedLib",
242 "SystemUI-statsd",
Jon Miranda27f95592022-04-06 17:29:09 +0000243 "SystemUIAnimationLib",
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800244 ],
245 manifest: "quickstep/AndroidManifest.xml",
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700246 min_sdk_version: "current",
Sunny Goyalf5c42ea2021-03-12 16:00:40 -0800247}
248
249
Jon Spivacka65d68b2021-04-07 10:22:25 -0700250// Library with all the dependencies for building Launcher Go
251android_library {
252 name: "LauncherGoResLib",
253 srcs: [
Thales Lima2c54bbf2022-07-12 15:45:10 +0000254 ":launcher-src",
255 ":launcher-quickstep-src",
256 ":launcher-go-src",
257 ":launcher-go-quickstep-src",
Jon Spivacka65d68b2021-04-07 10:22:25 -0700258 ],
259 resource_dirs: [
260 "go/res",
261 "go/quickstep/res",
262 ],
Ben Murdochfabc8732021-12-02 18:22:17 +0000263 // Note the ordering here is important when it comes to resource
264 // overriding. We want the most specific resource overrides defined
265 // in QuickstepResLib to take precendece, so it should be the final
266 // dependency. See b/205278434 for how this can go wrong.
Jon Spivacka65d68b2021-04-07 10:22:25 -0700267 static_libs: [
Greg Kaiser6f220d92021-11-05 16:12:47 +0000268 "Launcher3CommonDepsLib",
Jon Spivacka65d68b2021-04-07 10:22:25 -0700269 "QuickstepResLib",
Jon Spivack89c21c72021-08-13 13:18:24 -0700270 "androidx.room_room-runtime",
Jon Spivacka65d68b2021-04-07 10:22:25 -0700271 ],
Jon Spivack89c21c72021-08-13 13:18:24 -0700272 plugins: ["androidx.room_room-compiler-plugin"],
Jon Spivacka65d68b2021-04-07 10:22:25 -0700273 manifest: "quickstep/AndroidManifest-launcher.xml",
274 additional_manifests: [
275 "go/AndroidManifest.xml",
276 "AndroidManifest-common.xml",
277 ],
Sunny Goyal1fb271f2021-05-20 10:43:23 -0700278 min_sdk_version: "current",
Pedro Loureiro1e296c12021-03-09 18:35:52 +0000279 lint: {
280 baseline_filename: "lint-baseline-go-res-lib.xml",
281 },
Jon Spivacka65d68b2021-04-07 10:22:25 -0700282}
283
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700284// Build rule for Quickstep library
285android_library {
286 name: "Launcher3QuickStepLib",
287 srcs: [
Thales Lima2c54bbf2022-07-12 15:45:10 +0000288 ":launcher-src",
289 ":launcher-quickstep-src",
290 ":launcher-src_shortcuts_overrides",
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700291 ],
Thales Limac335ad22021-11-08 15:31:49 +0000292 resource_dirs: [],
Thiru Ramasamyd495e8c2021-08-26 10:37:17 -0700293 libs: [
294 "framework-statsd",
295 ],
Ben Murdochfabc8732021-12-02 18:22:17 +0000296 // Note the ordering here is important when it comes to resource
297 // overriding. We want the most specific resource overrides defined
298 // in QuickstepResLib to take precendece, so it should be the final
299 // dependency. See b/208647810 for how this can go wrong.
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700300 static_libs: [
301 "SystemUI-statsd",
302 "SystemUISharedLib",
Thales Limac335ad22021-11-08 15:31:49 +0000303 "Launcher3CommonDepsLib",
Ben Murdochfabc8732021-12-02 18:22:17 +0000304 "QuickstepResLib",
Jon Miranda27f95592022-04-06 17:29:09 +0000305 "SystemUIAnimationLib",
Sunny Goyal4af8cf92021-07-29 15:48:24 -0700306 ],
307 manifest: "quickstep/AndroidManifest.xml",
308 platform_apis: true,
309 min_sdk_version: "current",
310 lint: {
311 baseline_filename: "lint-baseline-launcher3.xml",
312 },
313}
Thales Lima813834a2022-05-18 15:29:59 +0000314
315// Build rule for Launcher3 Go app for Android Go devices.
316android_app {
317 name: "Launcher3Go",
318
319 static_libs: ["Launcher3CommonDepsLib"],
320
321 srcs: [
Thales Lima2c54bbf2022-07-12 15:45:10 +0000322 ":launcher-src",
323 ":launcher-go-src",
324 ":launcher-src_ui_overrides",
Thales Lima813834a2022-05-18 15:29:59 +0000325 ],
326
327 resource_dirs: ["go/res"],
328
329 optimize: {
330 proguard_flags_files: ["proguard.flags"],
331 },
332
333 sdk_version: "current",
334 min_sdk_version: "current",
335 target_sdk_version: "current",
336 privileged: true,
337 system_ext_specific: true,
338 overrides: [
339 "Home",
340 "Launcher2",
341 "Launcher3",
342 "Launcher3QuickStep",
343 ],
344 required: ["privapp_whitelist_com.android.launcher3"],
345
346 additional_manifests: [
347 "AndroidManifest.xml",
348 "AndroidManifest-common.xml",
349 ],
350
351 manifest: "go/AndroidManifest.xml",
352 jacoco: {
353 include_filter: ["com.android.launcher3.*"],
354 }
355
356}
357
358// Build rule for Quickstep app.
359android_app {
360 name: "Launcher3QuickStep",
361
362 static_libs: ["Launcher3QuickStepLib"],
363 optimize: {
364 enabled: false,
365 },
366
367 platform_apis: true,
368 min_sdk_version: "current",
369 target_sdk_version: "current",
370
371 privileged: true,
372 system_ext_specific: true,
373 overrides: [
374 "Home",
375 "Launcher2",
376 "Launcher3",
377 ],
378 required: ["privapp_whitelist_com.android.launcher3"],
379
380 resource_dirs: ["quickstep/res"],
381
382 additional_manifests: [
383 "quickstep/AndroidManifest-launcher.xml",
384 "AndroidManifest-common.xml",
385 ],
386
387 manifest: "quickstep/AndroidManifest.xml",
388 jacoco: {
389 include_filter: ["com.android.launcher3.*"],
390 }
391
392}
393
394// Build rule for Launcher3 Go app with quickstep for Android Go devices.
395android_app {
396 name: "Launcher3QuickStepGo",
397
398 static_libs: [
399 "SystemUI-statsd",
400 "SystemUISharedLib",
401 "LauncherGoResLib",
402 ],
403
404 platform_apis: true,
405 min_sdk_version: "current",
406 target_sdk_version: "current",
407
Thales Lima2c54bbf2022-07-12 15:45:10 +0000408 srcs: [ ],
Thales Lima813834a2022-05-18 15:29:59 +0000409
410 resource_dirs: [
411 "go/quickstep/res",
412 "go/res",
413 "quickstep/res",
414 ],
415
416 optimize: {
417 proguard_flags_files: ["proguard.flags"],
418 enabled: true,
419 },
420
421 privileged: true,
422 system_ext_specific: true,
423 overrides: [
424 "Home",
425 "Launcher2",
426 "Launcher3",
427 "Launcher3QuickStep",
428 ],
429 required: ["privapp_whitelist_com.android.launcher3"],
430
431 additional_manifests: [
432 "go/AndroidManifest.xml",
433 "go/AndroidManifest-launcher.xml",
434 "AndroidManifest-common.xml",
435 ],
436
437 manifest: "quickstep/AndroidManifest.xml",
438 jacoco: {
439 include_filter: ["com.android.launcher3.*"],
440 }
441
442}
443