Files
Lawnchair/Android.bp
T
Shikha Malhotra ccef3e02d2 Create android library for Go resources without src files
This is to ensure that the downstream projects like LauncherLily can
compile the sources itself and thus not include them twice in the
compilation leading to other errors/warnings in the code base

Bug: b/216136346
Test: manually tested LauncherLily
Change-Id: I3bd9962493a40842ae34d682a0c2d418d4703739
2022-06-10 09:52:04 +00:00

455 lines
11 KiB
Plaintext

// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package {
// See: http://go/android-license-faq
default_applicable_licenses: ["Android-Apache-2.0"],
}
min_launcher3_sdk_version = "26"
android_library {
name: "launcher-aosp-tapl",
libs: [
"framework-statsd",
],
static_libs: [
"androidx.annotation_annotation",
"androidx.test.runner",
"androidx.test.rules",
"androidx.test.uiautomator_uiautomator",
"androidx.preference_preference",
"SystemUISharedLib",
"SystemUIAnimationLib",
],
srcs: [
"tests/tapl/**/*.java",
"src/com/android/launcher3/ResourceUtils.java",
"src/com/android/launcher3/testing/TestProtocol.java",
"src/com/android/launcher3/testing/*Request.java",
],
resource_dirs: [ ],
manifest: "tests/tapl/AndroidManifest.xml",
platform_apis: true,
}
java_library_static {
name: "launcher_log_protos_lite",
srcs: [
"protos/*.proto",
"protos_overrides/*.proto",
],
sdk_version: "current",
proto: {
type: "lite",
local_include_dirs:[
"protos",
"protos_overrides",
],
},
static_libs: ["libprotobuf-java-lite"],
}
java_library_static {
name: "launcher_quickstep_log_protos_lite",
srcs: [
"quickstep/protos_overrides/*.proto",
],
sdk_version: "current",
proto: {
type: "lite",
local_include_dirs:[
"quickstep/protos_overrides",
],
},
static_libs: [
"libprotobuf-java-lite",
"launcher_log_protos_lite"
],
}
java_library {
name: "LauncherPluginLib",
static_libs: ["PluginCoreLib"],
srcs: ["src_plugins/**/*.java"],
sdk_version: "current",
min_sdk_version: min_launcher3_sdk_version,
}
// Library with all the dependencies for building Launcher3
android_library {
name: "Launcher3ResLib",
srcs: [ ],
resource_dirs: ["res"],
static_libs: [
"LauncherPluginLib",
"launcher_quickstep_log_protos_lite",
"androidx-constraintlayout_constraintlayout",
"androidx.recyclerview_recyclerview",
"androidx.dynamicanimation_dynamicanimation",
"androidx.fragment_fragment",
"androidx.preference_preference",
"androidx.slice_slice-view",
"androidx.cardview_cardview",
"com.google.android.material_material",
"iconloader_base",
],
manifest: "AndroidManifest-common.xml",
sdk_version: "current",
min_sdk_version: min_launcher3_sdk_version,
lint: {
baseline_filename: "lint-baseline-res-lib.xml",
},
}
//
// Build rule for Launcher3 dependencies lib.
//
android_library {
name: "Launcher3CommonDepsLib",
srcs: ["src_build_config/**/*.java"],
static_libs: ["Launcher3ResLib"],
sdk_version: "current",
min_sdk_version: min_launcher3_sdk_version,
manifest: "AndroidManifest-common.xml",
lint: {
baseline_filename: "lint-baseline-common-deps-lib.xml",
},
}
//
// Build rule for Launcher3 app.
//
android_app {
name: "Launcher3",
static_libs: [
"Launcher3CommonDepsLib",
],
srcs: [
"src/**/*.java",
"src/**/*.kt",
"src_shortcuts_overrides/**/*.java",
"src_shortcuts_overrides/**/*.kt",
"src_ui_overrides/**/*.java",
"src_ui_overrides/**/*.kt",
"ext_tests/src/**/*.java",
"ext_tests/src/**/*.kt",
],
resource_dirs: [
"ext_tests/res",
],
optimize: {
proguard_flags_files: ["proguard.flags"],
// Proguard is disable for testing. Derivarive prjects to keep proguard enabled
enabled: false,
},
sdk_version: "current",
min_sdk_version: min_launcher3_sdk_version,
target_sdk_version: "current",
privileged: true,
system_ext_specific: true,
overrides: [
"Home",
"Launcher2",
],
required: ["privapp_whitelist_com.android.launcher3"],
jacoco: {
include_filter: ["com.android.launcher3.**"],
},
additional_manifests: [
"AndroidManifest-common.xml",
],
lint: {
baseline_filename: "lint-baseline-launcher3.xml",
},
}
// Library with all the dependencies for building quickstep
android_library {
name: "QuickstepResLib",
srcs: [ ],
resource_dirs: [
"quickstep/res",
],
libs: [
"framework-statsd",
],
static_libs: [
"Launcher3ResLib",
"lottie",
"SystemUISharedLib",
"SystemUI-statsd",
"SystemUIAnimationLib",
],
manifest: "quickstep/AndroidManifest.xml",
min_sdk_version: "current",
}
// Source code used for test helpers
filegroup {
name: "launcher-src-ext-tests",
srcs: [
"ext_tests/src/**/*.java",
"ext_tests/src/**/*.kt",
"quickstep/ext_tests/src/**/*.java",
"quickstep/ext_tests/src/**/*.kt",
],
}
// Common source files used to build launcher
filegroup {
name: "launcher-src-no-build-config",
srcs: [
"src/**/*.java",
"src/**/*.kt",
"src_shortcuts_overrides/**/*.java",
"src_shortcuts_overrides/**/*.kt",
"quickstep/src/**/*.java",
"quickstep/src/**/*.kt",
],
}
// Common source files used to build go launcher except go/src files
filegroup {
name: "launcher-go-src-no-build-config",
srcs: [
"src/**/*.java",
"src/**/*.kt",
"quickstep/src/**/*.java",
"quickstep/src/**/*.kt",
"go/quickstep/src/**/*.java",
"go/quickstep/src/**/*.kt",
],
}
// Library with all the dependencies for building Launcher Go
// without the sources, sources to be added in the downstream projects
android_library {
name: "LauncherGoResNoSrcLib",
resource_dirs: [
"go/res",
"go/quickstep/res",
],
// Note the ordering here is important when it comes to resource
// overriding. We want the most specific resource overrides defined
// in QuickstepResLib to take precedence, so it should be the final
// dependency. See b/205278434 for how this can go wrong.
static_libs: [
"Launcher3CommonDepsLib",
"QuickstepResLib",
"androidx.room_room-runtime",
],
plugins: ["androidx.room_room-compiler-plugin"],
manifest: "quickstep/AndroidManifest-launcher.xml",
additional_manifests: [
"go/AndroidManifest.xml",
"AndroidManifest-common.xml",
],
min_sdk_version: "current",
lint: {
baseline_filename: "lint-baseline-go-res-lib.xml",
},
}
// Proguard files for Launcher3
filegroup {
name: "launcher-proguard-rules",
srcs: ["proguard.flags"],
}
// Library with all the dependencies for building Launcher Go
android_library {
name: "LauncherGoResLib",
srcs: [
":launcher-go-src-no-build-config",
"go/src/**/*.java",
"go/src/**/*.kt",
],
static_libs: [
"LauncherGoResNoSrcLib",
],
plugins: ["androidx.room_room-compiler-plugin"],
manifest: "quickstep/AndroidManifest-launcher.xml",
additional_manifests: [
"go/AndroidManifest.xml",
"AndroidManifest-common.xml",
],
min_sdk_version: "current",
lint: {
baseline_filename: "lint-baseline-go-res-lib.xml",
},
}
// Build rule for Quickstep library
android_library {
name: "Launcher3QuickStepLib",
srcs: [
":launcher-src-no-build-config",
],
resource_dirs: [],
libs: [
"framework-statsd",
],
// Note the ordering here is important when it comes to resource
// overriding. We want the most specific resource overrides defined
// in QuickstepResLib to take precendece, so it should be the final
// dependency. See b/208647810 for how this can go wrong.
static_libs: [
"SystemUI-statsd",
"SystemUISharedLib",
"Launcher3CommonDepsLib",
"QuickstepResLib",
"SystemUIAnimationLib",
],
manifest: "quickstep/AndroidManifest.xml",
platform_apis: true,
min_sdk_version: "current",
lint: {
baseline_filename: "lint-baseline-launcher3.xml",
},
}
// Build rule for Launcher3 Go app for Android Go devices.
android_app {
name: "Launcher3Go",
static_libs: ["Launcher3CommonDepsLib"],
srcs: [
"src/**/*.java",
"src_ui_overrides/**/*.java",
"go/src/**/*.java",
],
resource_dirs: ["go/res"],
optimize: {
proguard_flags_files: ["proguard.flags"],
},
sdk_version: "current",
min_sdk_version: "current",
target_sdk_version: "current",
privileged: true,
system_ext_specific: true,
overrides: [
"Home",
"Launcher2",
"Launcher3",
"Launcher3QuickStep",
],
required: ["privapp_whitelist_com.android.launcher3"],
additional_manifests: [
"AndroidManifest.xml",
"AndroidManifest-common.xml",
],
manifest: "go/AndroidManifest.xml",
jacoco: {
include_filter: ["com.android.launcher3.*"],
}
}
// Build rule for Quickstep app.
android_app {
name: "Launcher3QuickStep",
static_libs: ["Launcher3QuickStepLib"],
optimize: {
enabled: false,
},
platform_apis: true,
min_sdk_version: "current",
target_sdk_version: "current",
privileged: true,
system_ext_specific: true,
overrides: [
"Home",
"Launcher2",
"Launcher3",
],
required: ["privapp_whitelist_com.android.launcher3"],
resource_dirs: ["quickstep/res"],
additional_manifests: [
"quickstep/AndroidManifest-launcher.xml",
"AndroidManifest-common.xml",
],
manifest: "quickstep/AndroidManifest.xml",
jacoco: {
include_filter: ["com.android.launcher3.*"],
}
}
// Build rule for Launcher3 Go app with quickstep for Android Go devices.
android_app {
name: "Launcher3QuickStepGo",
static_libs: [
"SystemUI-statsd",
"SystemUISharedLib",
"LauncherGoResLib",
],
platform_apis: true,
min_sdk_version: "current",
target_sdk_version: "current",
optimize: {
proguard_flags_files: ["proguard.flags"],
enabled: true,
},
privileged: true,
system_ext_specific: true,
overrides: [
"Home",
"Launcher2",
"Launcher3",
"Launcher3QuickStep",
],
required: ["privapp_whitelist_com.android.launcher3"],
additional_manifests: [
"go/AndroidManifest.xml",
"go/AndroidManifest-launcher.xml",
"AndroidManifest-common.xml",
],
manifest: "quickstep/AndroidManifest.xml",
jacoco: {
include_filter: ["com.android.launcher3.*"],
}
}