Simplify ThemePicker dependencies
Replace ThemePicker_common_defaults, ThemePicker_srcs and
ThemePicker_res with a single ThemePickerLib android_library.
This will compile ThemePicker_srcs and ThemePicker_res a single
time instead of in every module.
Also replace the ThemePicker_src_overrides with a ThemePickerOverridesLib
java_library.
Bug: 319160342
Test: builds
Test: atest --host ThemePickerRoboTests
Flag: NA
Change-Id: Ia55daf02a86c331d77d33187b1173e13422f3fc1
diff --git a/Android.bp b/Android.bp
index e6c07a8..4b78713 100644
--- a/Android.bp
+++ b/Android.bp
@@ -19,22 +19,6 @@
default_applicable_licenses: ["Android-Apache-2.0"],
}
-filegroup {
- name: "ThemePicker_srcs",
- srcs: [
- "src/**/*.java",
- "src/**/*.kt",
- ],
-}
-
-filegroup {
- name: "ThemePicker_src_overrides",
- srcs: [
- "src_override/**/*.java",
- "src_override/**/*.kt",
- ],
-}
-
// Production-only files that should be excluded in tests.
filegroup {
name: "ThemePicker_src_prod",
@@ -42,6 +26,30 @@
srcs: ["src_override/com/android/customization/picker/CustomizationPickerApplication.java"],
}
+java_library {
+ name: "ThemePickerOverridesLib",
+ srcs: [
+ "src_override/**/*.java",
+ "src_override/**/*.kt",
+ ],
+ exclude_srcs: [":ThemePicker_src_prod"],
+ libs: [
+ "hilt_android",
+ "ThemePickerLib",
+ ],
+}
+
+java_library {
+ name: "ThemePickerApplicationLib",
+ srcs: [":ThemePicker_src_prod"],
+ libs: [
+ "hilt_android",
+ "ThemePickerLib",
+ "ThemePickerOverridesLib",
+ ],
+}
+
+
filegroup {
name: "ThemePicker_Manifest",
srcs: [
@@ -49,33 +57,8 @@
],
}
-genrule {
- name: "ThemePicker_res",
- tools: ["soong_zip"],
- srcs: [
- "res/**/*",
- ],
- out: ["ThemePicker_res.zip"],
- cmd: "INPUTS=($(in)) && "
- + "RES_DIR=$$(dirname $$(dirname $${INPUTS[0]})) && "
- + "$(location soong_zip) -o $(out) -C $$RES_DIR -D $$RES_DIR"
-}
-
-genrule {
- name: "ThemePicker_res_overrides",
- tools: ["soong_zip"],
- srcs: [
- "res_override/**/*",
- ],
- out: ["ThemePicker_res_overrides.zip"],
- cmd: "INPUTS=($(in)) && "
- + "RES_DIR=$$(dirname $$(dirname $${INPUTS[0]})) && "
- + "$(location soong_zip) -o $(out) -C $$RES_DIR -D $$RES_DIR"
-}
-
-// Common defaults that doesn't have ThemePicker specifics.
-java_defaults {
- name: "ThemePicker_common_defaults",
+android_library {
+ name: "ThemePickerLib",
static_libs: [
"guava",
@@ -93,20 +76,35 @@
"hilt_android",
],
- jni_libs: [
- "librenderscript-toolkit",
+ srcs: [
+ "src/**/*.java",
+ "src/**/*.kt",
],
- srcs: [
- ":ThemePicker_srcs",
+ resource_dirs: [
+ "res",
+ "res_override",
+ ],
+
+ manifest: "AndroidManifest-empty.xml",
+}
+
+java_defaults {
+ name: "ThemePicker_defaults",
+ static_libs: [
+ "ThemePickerLib",
+ "ThemePickerOverridesLib",
+ "hilt_android",
+ ],
+
+ jni_libs: [
+ "librenderscript-toolkit",
],
required: ["android.software.theme_picker.xml"],
use_embedded_native_libs: true,
- resource_zips: [":ThemePicker_res", ":ThemePicker_res_overrides"],
-
optimize: {
enabled: false,
},
@@ -117,12 +115,6 @@
system_ext_specific: true,
}
-java_defaults {
- name: "ThemePicker_defaults",
- defaults: ["ThemePicker_common_defaults"],
- srcs: [":ThemePicker_src_overrides"],
-}
-
prebuilt_etc {
name: "android.software.theme_picker.xml",
system_ext_specific: true,
@@ -141,4 +133,5 @@
manifest: "AndroidManifest.xml",
additional_manifests: [":WallpaperPicker2_Manifest"],
overrides: ["WallpaperPicker", "WallpaperPicker2"],
+ static_libs: ["ThemePickerApplicationLib"],
}