Move Launcher classes shared between tests and prod in a separate lib

This is necessary because otherwise those are included in several gradle projects. Gradle doesn't support the same files imported in different projects, and it removes them from a random one if it happens, resulting in missing symbols.

This extracts the shared files in a new target, and adds it as dep of the original target.

Test: Build launcher + execute a few tests manually with gradle + verify that Launcher.java can resolve all symbols with gradle config
Bug: 262267728
Change-Id: Ida5b25c45320d517603834112f4699e4d3344c03
This commit is contained in:
Nicolo' Mazzucato 2023-01-24 15:41:10 +00:00
parent 2560660062
commit e8ee34ad8a
8 changed files with 38 additions and 2 deletions

View File

@ -80,10 +80,10 @@ android_library {
"androidx.preference_preference",
"SystemUISharedLib",
"SystemUIAnimationLib",
"launcher-testing-shared",
],
srcs: [
"tests/tapl/**/*.java",
"src/com/android/launcher3/testing/shared/**/*.java",
],
resource_dirs: [ ],
manifest: "tests/tapl/AndroidManifest.xml",
@ -169,7 +169,10 @@ android_library {
android_library {
name: "Launcher3CommonDepsLib",
srcs: ["src_build_config/**/*.java"],
static_libs: ["Launcher3ResLib"],
static_libs: [
"Launcher3ResLib",
"launcher-testing-shared",
],
sdk_version: "current",
min_sdk_version: min_launcher3_sdk_version,
manifest: "AndroidManifest-common.xml",

View File

@ -117,3 +117,15 @@ android_test {
test_config: "Launcher3Tests.xml",
data: [":Launcher3"]
}
// Shared between tests and launcher
android_library {
name: "launcher-testing-shared",
srcs: [
"shared/com/android/launcher3/testing/shared/**/*.java"
],
resource_dirs: [ ],
manifest: "shared/AndroidManifest.xml",
sdk_version: "current",
min_sdk_version: min_launcher3_sdk_version,
}

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2023, 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.
*/
-->
<manifest package="com.android.launcher3.testing.shared">
</manifest>