xref: /aosp_15_r20/frameworks/base/packages/SystemUI/plugin_core/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1// 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
15package {
16    default_team: "trendy_team_system_ui_please_use_a_more_specific_subteam_if_possible_",
17    // See: http://go/android-license-faq
18    // A large-scale-change added 'default_applicable_licenses' to import
19    // all of the 'license_kinds' from "frameworks_base_packages_SystemUI_license"
20    // to get the below license kinds:
21    //   SPDX-license-identifier-Apache-2.0
22    default_applicable_licenses: ["frameworks_base_packages_SystemUI_license"],
23}
24
25java_library {
26    sdk_version: "current",
27    name: "PluginAnnotationLib",
28    host_supported: true,
29    device_supported: true,
30    srcs: [
31        "src/**/annotations/*.java",
32        "src/**/annotations/*.kt",
33    ],
34    optimize: {
35        proguard_flags_files: ["proguard.flags"],
36        // Ensure downstream clients that reference this as a shared lib
37        // inherit the appropriate flags to preserve annotations.
38        export_proguard_flags_files: true,
39    },
40
41    // Enforce that the library is built against java 8 so that there are
42    // no compatibility issues with launcher
43    java_version: "1.8",
44}
45
46java_library {
47    sdk_version: "current",
48    name: "PluginCoreLib",
49    device_supported: true,
50    srcs: [
51        "src/**/*.java",
52        "src/**/*.kt",
53    ],
54    exclude_srcs: [
55        "src/**/annotations/*.java",
56        "src/**/annotations/*.kt",
57    ],
58    static_libs: [
59        "PluginAnnotationLib",
60    ],
61    optimize: {
62        proguard_flags_files: ["proguard.flags"],
63        // Ensure downstream clients that reference this as a shared lib
64        // inherit the appropriate flags to preserve annotations.
65        export_proguard_flags_files: true,
66    },
67
68    // Enforce that the library is built against java 8 so that there are
69    // no compatibility issues with launcher
70    java_version: "1.8",
71}
72
73java_library {
74    java_version: "1.8",
75    name: "PluginAnnotationProcessorLib",
76    host_supported: true,
77    device_supported: false,
78    srcs: [
79        "processor/src/**/*.java",
80        "processor/src/**/*.kt",
81    ],
82    plugins: ["auto_service_plugin"],
83    static_libs: [
84        "androidx.annotation_annotation",
85        "auto_service_annotations",
86        "auto_common",
87        "PluginAnnotationLib",
88        "guava",
89        "jsr330",
90    ],
91}
92
93java_plugin {
94    name: "PluginAnnotationProcessor",
95    processor_class: "com.android.systemui.plugins.processor.ProtectedPluginProcessor",
96    static_libs: ["PluginAnnotationProcessorLib"],
97    java_version: "1.8",
98}
99