xref: /aosp_15_r20/frameworks/base/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Worker// Copyright (C) 2016 The Android Open Source Project
2*d57664e9SAndroid Build Coastguard Worker//
3*d57664e9SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d57664e9SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d57664e9SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d57664e9SAndroid Build Coastguard Worker//
7*d57664e9SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*d57664e9SAndroid Build Coastguard Worker//
9*d57664e9SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d57664e9SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d57664e9SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d57664e9SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d57664e9SAndroid Build Coastguard Worker// limitations under the License.
14*d57664e9SAndroid Build Coastguard Worker
15*d57664e9SAndroid Build Coastguard Worker// Build the master framework library.
16*d57664e9SAndroid Build Coastguard Worker
17*d57664e9SAndroid Build Coastguard Worker// READ ME: ########################################################
18*d57664e9SAndroid Build Coastguard Worker//
19*d57664e9SAndroid Build Coastguard Worker// When updating this list of aidl files, consider if that aidl is
20*d57664e9SAndroid Build Coastguard Worker// part of the SDK API.  If it is, also add it to the list in Android.mk
21*d57664e9SAndroid Build Coastguard Worker// that is preprocessed and distributed with the SDK.  This list should
22*d57664e9SAndroid Build Coastguard Worker// not contain any aidl files for parcelables, but the one below should
23*d57664e9SAndroid Build Coastguard Worker// if you intend for 3rd parties to be able to send those objects
24*d57664e9SAndroid Build Coastguard Worker// across process boundaries.
25*d57664e9SAndroid Build Coastguard Worker//
26*d57664e9SAndroid Build Coastguard Worker// READ ME: ########################################################
27*d57664e9SAndroid Build Coastguard Worker
28*d57664e9SAndroid Build Coastguard Workerpackage {
29*d57664e9SAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_base_license"],
30*d57664e9SAndroid Build Coastguard Worker}
31*d57664e9SAndroid Build Coastguard Worker
32*d57664e9SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
33*d57664e9SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
34*d57664e9SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
35*d57664e9SAndroid Build Coastguard Worker//
36*d57664e9SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
37*d57664e9SAndroid Build Coastguard Worker//
38*d57664e9SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
39*d57664e9SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
40*d57664e9SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
41*d57664e9SAndroid Build Coastguard Worker//
42*d57664e9SAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
43*d57664e9SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
44*d57664e9SAndroid Build Coastguard Worker// used in the current project.
45*d57664e9SAndroid Build Coastguard Worker// See: http://go/android-license-faq
46*d57664e9SAndroid Build Coastguard Workerlicense {
47*d57664e9SAndroid Build Coastguard Worker    name: "frameworks_base_license",
48*d57664e9SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
49*d57664e9SAndroid Build Coastguard Worker    license_kinds: [
50*d57664e9SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
51*d57664e9SAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
52*d57664e9SAndroid Build Coastguard Worker        "SPDX-license-identifier-CC-BY",
53*d57664e9SAndroid Build Coastguard Worker        "SPDX-license-identifier-MIT",
54*d57664e9SAndroid Build Coastguard Worker        "SPDX-license-identifier-Unicode-DFS",
55*d57664e9SAndroid Build Coastguard Worker        "legacy_unencumbered",
56*d57664e9SAndroid Build Coastguard Worker    ],
57*d57664e9SAndroid Build Coastguard Worker    license_text: [
58*d57664e9SAndroid Build Coastguard Worker        "NOTICE",
59*d57664e9SAndroid Build Coastguard Worker    ],
60*d57664e9SAndroid Build Coastguard Worker}
61*d57664e9SAndroid Build Coastguard Worker
62*d57664e9SAndroid Build Coastguard Workerfilegroup {
63*d57664e9SAndroid Build Coastguard Worker    name: "framework-non-updatable-sources",
64*d57664e9SAndroid Build Coastguard Worker    device_common_srcs: [
65*d57664e9SAndroid Build Coastguard Worker        // Java/AIDL sources under frameworks/base
66*d57664e9SAndroid Build Coastguard Worker        ":framework-annotations",
67*d57664e9SAndroid Build Coastguard Worker        ":framework-blobstore-sources",
68*d57664e9SAndroid Build Coastguard Worker        ":framework-core-sources",
69*d57664e9SAndroid Build Coastguard Worker        ":framework-drm-sources",
70*d57664e9SAndroid Build Coastguard Worker        ":framework-graphics-nonupdatable-sources",
71*d57664e9SAndroid Build Coastguard Worker        ":framework-jobscheduler-sources", // jobscheduler is not a module for R
72*d57664e9SAndroid Build Coastguard Worker        ":framework-keystore-sources",
73*d57664e9SAndroid Build Coastguard Worker        ":framework-identity-sources",
74*d57664e9SAndroid Build Coastguard Worker        ":framework-mca-effect-sources",
75*d57664e9SAndroid Build Coastguard Worker        ":framework-mca-filterfw-sources",
76*d57664e9SAndroid Build Coastguard Worker        ":framework-mca-filterpacks-sources",
77*d57664e9SAndroid Build Coastguard Worker        ":framework-media-non-updatable-sources",
78*d57664e9SAndroid Build Coastguard Worker        ":framework-mms-sources",
79*d57664e9SAndroid Build Coastguard Worker        ":framework-omapi-sources",
80*d57664e9SAndroid Build Coastguard Worker        ":framework-opengl-sources",
81*d57664e9SAndroid Build Coastguard Worker        ":framework-rs-sources",
82*d57664e9SAndroid Build Coastguard Worker        ":framework-sax-sources",
83*d57664e9SAndroid Build Coastguard Worker        ":framework-telecomm-sources",
84*d57664e9SAndroid Build Coastguard Worker        ":framework-telephony-common-sources",
85*d57664e9SAndroid Build Coastguard Worker        ":framework-telephony-sources",
86*d57664e9SAndroid Build Coastguard Worker        ":framework-wifi-annotations",
87*d57664e9SAndroid Build Coastguard Worker        ":framework-wifi-non-updatable-sources",
88*d57664e9SAndroid Build Coastguard Worker        ":PacProcessor-aidl-sources",
89*d57664e9SAndroid Build Coastguard Worker        ":ProxyHandler-aidl-sources",
90*d57664e9SAndroid Build Coastguard Worker        ":vcn-utils-platform-sources",
91*d57664e9SAndroid Build Coastguard Worker        ":net-utils-framework-common-srcs",
92*d57664e9SAndroid Build Coastguard Worker
93*d57664e9SAndroid Build Coastguard Worker        // AIDL from frameworks/base/native/
94*d57664e9SAndroid Build Coastguard Worker        ":platform-compat-native-aidl",
95*d57664e9SAndroid Build Coastguard Worker
96*d57664e9SAndroid Build Coastguard Worker        // AIDL sources from external directories
97*d57664e9SAndroid Build Coastguard Worker        ":android.frameworks.location.altitude-V2-java-source",
98*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.biometrics.common-V4-java-source",
99*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.biometrics.fingerprint-V5-java-source",
100*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.biometrics.fingerprint.virtualhal-java-source",
101*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.biometrics.face.virtualhal-java-source",
102*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.biometrics.face-V4-java-source",
103*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.gnss-V2-java-source",
104*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.graphics.common-V3-java-source",
105*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.keymaster-V4-java-source",
106*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.radio-V4-java-source",
107*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.radio.data-V4-java-source",
108*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.radio.network-V4-java-source",
109*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.radio.voice-V4-java-source",
110*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.security.secureclock-V1-java-source",
111*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.thermal-V3-java-source",
112*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.tv.tuner-V3-java-source",
113*d57664e9SAndroid Build Coastguard Worker        ":android.security.apc-java-source",
114*d57664e9SAndroid Build Coastguard Worker        ":android.security.authorization-java-source",
115*d57664e9SAndroid Build Coastguard Worker        ":android.security.legacykeystore-java-source",
116*d57664e9SAndroid Build Coastguard Worker        ":android.security.maintenance-java-source",
117*d57664e9SAndroid Build Coastguard Worker        ":android.security.metrics-java-source",
118*d57664e9SAndroid Build Coastguard Worker        ":android.hardware.cas-V1-java-source",
119*d57664e9SAndroid Build Coastguard Worker        ":credstore_aidl",
120*d57664e9SAndroid Build Coastguard Worker        ":dumpstate_aidl",
121*d57664e9SAndroid Build Coastguard Worker        ":framework_native_aidl",
122*d57664e9SAndroid Build Coastguard Worker        ":gatekeeper_aidl",
123*d57664e9SAndroid Build Coastguard Worker        ":gsiservice_aidl",
124*d57664e9SAndroid Build Coastguard Worker        ":guiconstants_aidl",
125*d57664e9SAndroid Build Coastguard Worker        ":idmap2_aidl",
126*d57664e9SAndroid Build Coastguard Worker        ":idmap2_core_aidl",
127*d57664e9SAndroid Build Coastguard Worker        ":incidentcompanion_aidl",
128*d57664e9SAndroid Build Coastguard Worker        ":inputconstants_aidl",
129*d57664e9SAndroid Build Coastguard Worker        ":installd_aidl",
130*d57664e9SAndroid Build Coastguard Worker        ":libaudioclient_aidl",
131*d57664e9SAndroid Build Coastguard Worker        ":libbinder_aidl",
132*d57664e9SAndroid Build Coastguard Worker        ":libcamera_client_aidl",
133*d57664e9SAndroid Build Coastguard Worker        ":libcamera_client_framework_aidl",
134*d57664e9SAndroid Build Coastguard Worker        ":libupdate_engine_aidl",
135*d57664e9SAndroid Build Coastguard Worker        ":libupdate_engine_stable-V2-java-source",
136*d57664e9SAndroid Build Coastguard Worker        ":logd_aidl",
137*d57664e9SAndroid Build Coastguard Worker        ":resourcemanager_aidl",
138*d57664e9SAndroid Build Coastguard Worker        ":storaged_aidl",
139*d57664e9SAndroid Build Coastguard Worker        ":vold_aidl",
140*d57664e9SAndroid Build Coastguard Worker        ":deviceproductinfoconstants_aidl",
141*d57664e9SAndroid Build Coastguard Worker
142*d57664e9SAndroid Build Coastguard Worker        // For the generated R.java and Manifest.java
143*d57664e9SAndroid Build Coastguard Worker        ":framework-res{.aapt.srcjar}",
144*d57664e9SAndroid Build Coastguard Worker
145*d57664e9SAndroid Build Coastguard Worker        // etc.
146*d57664e9SAndroid Build Coastguard Worker        ":framework-javastream-protos",
147*d57664e9SAndroid Build Coastguard Worker        ":statslog-framework-java-gen", // FrameworkStatsLog.java
148*d57664e9SAndroid Build Coastguard Worker        ":statslog-hwui-java-gen", // HwuiStatsLog.java
149*d57664e9SAndroid Build Coastguard Worker        ":audio_policy_configuration_V7_0",
150*d57664e9SAndroid Build Coastguard Worker    ] + select(release_flag("RELEASE_ATTEST_MODULES"), {
151*d57664e9SAndroid Build Coastguard Worker        true: [
152*d57664e9SAndroid Build Coastguard Worker            ":android.hardware.security.keymint-V4-java-source",
153*d57664e9SAndroid Build Coastguard Worker            ":android.system.keystore2-V5-java-source",
154*d57664e9SAndroid Build Coastguard Worker        ],
155*d57664e9SAndroid Build Coastguard Worker        default: [
156*d57664e9SAndroid Build Coastguard Worker            ":android.hardware.security.keymint-V3-java-source",
157*d57664e9SAndroid Build Coastguard Worker            ":android.system.keystore2-V4-java-source",
158*d57664e9SAndroid Build Coastguard Worker        ],
159*d57664e9SAndroid Build Coastguard Worker    }),
160*d57664e9SAndroid Build Coastguard Worker}
161*d57664e9SAndroid Build Coastguard Worker
162*d57664e9SAndroid Build Coastguard Workerjava_library {
163*d57664e9SAndroid Build Coastguard Worker    name: "framework-all",
164*d57664e9SAndroid Build Coastguard Worker    installable: false,
165*d57664e9SAndroid Build Coastguard Worker    static_libs: [
166*d57664e9SAndroid Build Coastguard Worker        "all-framework-module-impl",
167*d57664e9SAndroid Build Coastguard Worker        "framework-minus-apex",
168*d57664e9SAndroid Build Coastguard Worker    ],
169*d57664e9SAndroid Build Coastguard Worker    apex_available: ["//apex_available:platform"],
170*d57664e9SAndroid Build Coastguard Worker    sdk_version: "core_platform",
171*d57664e9SAndroid Build Coastguard Worker    visibility: [
172*d57664e9SAndroid Build Coastguard Worker        // DO NOT ADD ANY MORE ENTRIES TO THIS LIST
173*d57664e9SAndroid Build Coastguard Worker        "//external/robolectric-shadows:__subpackages__",
174*d57664e9SAndroid Build Coastguard Worker        //This will eventually replace the item above, and serves the
175*d57664e9SAndroid Build Coastguard Worker        //same purpose.
176*d57664e9SAndroid Build Coastguard Worker        "//external/robolectric:__subpackages__",
177*d57664e9SAndroid Build Coastguard Worker        "//frameworks/layoutlib:__subpackages__",
178*d57664e9SAndroid Build Coastguard Worker    ],
179*d57664e9SAndroid Build Coastguard Worker}
180*d57664e9SAndroid Build Coastguard Worker
181*d57664e9SAndroid Build Coastguard Worker// AIDL files under these paths are mixture of public and private ones.
182*d57664e9SAndroid Build Coastguard Worker// They shouldn't be exported across module boundaries.
183*d57664e9SAndroid Build Coastguard Workerjava_defaults {
184*d57664e9SAndroid Build Coastguard Worker    name: "framework-aidl-export-defaults",
185*d57664e9SAndroid Build Coastguard Worker    aidl: {
186*d57664e9SAndroid Build Coastguard Worker        export_include_dirs: [
187*d57664e9SAndroid Build Coastguard Worker            "core/java",
188*d57664e9SAndroid Build Coastguard Worker            "drm/java",
189*d57664e9SAndroid Build Coastguard Worker            "graphics/java",
190*d57664e9SAndroid Build Coastguard Worker            "identity/java",
191*d57664e9SAndroid Build Coastguard Worker            "keystore/java",
192*d57664e9SAndroid Build Coastguard Worker            "media/java",
193*d57664e9SAndroid Build Coastguard Worker            "media/mca/effect/java",
194*d57664e9SAndroid Build Coastguard Worker            "media/mca/filterfw/java",
195*d57664e9SAndroid Build Coastguard Worker            "media/mca/filterpacks/java",
196*d57664e9SAndroid Build Coastguard Worker            "mms/java",
197*d57664e9SAndroid Build Coastguard Worker            "opengl/java",
198*d57664e9SAndroid Build Coastguard Worker            "rs/java",
199*d57664e9SAndroid Build Coastguard Worker            "sax/java",
200*d57664e9SAndroid Build Coastguard Worker            "telecomm/java",
201*d57664e9SAndroid Build Coastguard Worker
202*d57664e9SAndroid Build Coastguard Worker            // TODO(b/147699819): remove this
203*d57664e9SAndroid Build Coastguard Worker            "telephony/java",
204*d57664e9SAndroid Build Coastguard Worker        ],
205*d57664e9SAndroid Build Coastguard Worker    },
206*d57664e9SAndroid Build Coastguard Worker}
207*d57664e9SAndroid Build Coastguard Worker
208*d57664e9SAndroid Build Coastguard Worker// Collection of classes that are generated from non-Java files that are not listed in
209*d57664e9SAndroid Build Coastguard Worker// framework_srcs. These have no or very limited dependency to the framework.
210*d57664e9SAndroid Build Coastguard Workerjava_library {
211*d57664e9SAndroid Build Coastguard Worker    name: "framework-internal-utils",
212*d57664e9SAndroid Build Coastguard Worker    defaults: [
213*d57664e9SAndroid Build Coastguard Worker        "android.hardware.power-java_static",
214*d57664e9SAndroid Build Coastguard Worker    ],
215*d57664e9SAndroid Build Coastguard Worker    static_libs: [
216*d57664e9SAndroid Build Coastguard Worker        "apex_aidl_interface-java",
217*d57664e9SAndroid Build Coastguard Worker        "packagemanager_aidl-java",
218*d57664e9SAndroid Build Coastguard Worker        "framework-protos",
219*d57664e9SAndroid Build Coastguard Worker        "updatable-driver-protos",
220*d57664e9SAndroid Build Coastguard Worker        "ota_metadata_proto_java",
221*d57664e9SAndroid Build Coastguard Worker        "android.hidl.base-V1.0-java",
222*d57664e9SAndroid Build Coastguard Worker        "android.hidl.manager-V1.2-java",
223*d57664e9SAndroid Build Coastguard Worker        "android.hardware.cas-V1-java", // AIDL
224*d57664e9SAndroid Build Coastguard Worker        "android.hardware.cas-V1.0-java",
225*d57664e9SAndroid Build Coastguard Worker        "android.hardware.cas-V1.1-java",
226*d57664e9SAndroid Build Coastguard Worker        "android.hardware.cas-V1.2-java",
227*d57664e9SAndroid Build Coastguard Worker        "android.hardware.contexthub-V1.0-java",
228*d57664e9SAndroid Build Coastguard Worker        "android.hardware.contexthub-V1.1-java",
229*d57664e9SAndroid Build Coastguard Worker        "android.hardware.contexthub-V1.2-java",
230*d57664e9SAndroid Build Coastguard Worker        "android.hardware.contexthub-V4-java",
231*d57664e9SAndroid Build Coastguard Worker        "android.hardware.gnss-V1.0-java",
232*d57664e9SAndroid Build Coastguard Worker        "android.hardware.gnss-V2.1-java",
233*d57664e9SAndroid Build Coastguard Worker        "android.hardware.health-V1.0-java-constants",
234*d57664e9SAndroid Build Coastguard Worker        "android.hardware.radio-V1.6-java",
235*d57664e9SAndroid Build Coastguard Worker        "android.hardware.radio.data-V4-java",
236*d57664e9SAndroid Build Coastguard Worker        "android.hardware.radio.ims-V3-java",
237*d57664e9SAndroid Build Coastguard Worker        "android.hardware.radio.messaging-V4-java",
238*d57664e9SAndroid Build Coastguard Worker        "android.hardware.radio.modem-V4-java",
239*d57664e9SAndroid Build Coastguard Worker        "android.hardware.radio.network-V4-java",
240*d57664e9SAndroid Build Coastguard Worker        "android.hardware.radio.sim-V4-java",
241*d57664e9SAndroid Build Coastguard Worker        "android.hardware.radio.voice-V4-java",
242*d57664e9SAndroid Build Coastguard Worker        "android.hardware.thermal-V1.0-java-constants",
243*d57664e9SAndroid Build Coastguard Worker        "android.hardware.thermal-V1.0-java",
244*d57664e9SAndroid Build Coastguard Worker        "android.hardware.thermal-V1.1-java",
245*d57664e9SAndroid Build Coastguard Worker        "android.hardware.thermal-V2.0-java",
246*d57664e9SAndroid Build Coastguard Worker        "android.hardware.tv.input-V1.0-java-constants",
247*d57664e9SAndroid Build Coastguard Worker        "android.hardware.usb-V1.0-java-constants",
248*d57664e9SAndroid Build Coastguard Worker        "android.hardware.usb-V1.1-java-constants",
249*d57664e9SAndroid Build Coastguard Worker        "android.hardware.usb-V1.2-java-constants",
250*d57664e9SAndroid Build Coastguard Worker        "android.hardware.usb.gadget-V1-java",
251*d57664e9SAndroid Build Coastguard Worker        "android.hardware.usb.gadget-V1.0-java",
252*d57664e9SAndroid Build Coastguard Worker        "android.hardware.usb.gadget-V1.1-java",
253*d57664e9SAndroid Build Coastguard Worker        "android.hardware.usb.gadget-V1.2-java",
254*d57664e9SAndroid Build Coastguard Worker        "android.hardware.vibrator-V1.0-java",
255*d57664e9SAndroid Build Coastguard Worker        "android.hardware.vibrator-V1.1-java",
256*d57664e9SAndroid Build Coastguard Worker        "android.hardware.vibrator-V1.2-java",
257*d57664e9SAndroid Build Coastguard Worker        "android.hardware.vibrator-V1.3-java",
258*d57664e9SAndroid Build Coastguard Worker        "android.hardware.vibrator-V3-java",
259*d57664e9SAndroid Build Coastguard Worker        "android.se.omapi-V1-java",
260*d57664e9SAndroid Build Coastguard Worker        "android.system.suspend.control.internal-java",
261*d57664e9SAndroid Build Coastguard Worker        "devicepolicyprotosnano",
262*d57664e9SAndroid Build Coastguard Worker        "ImmutabilityAnnotation",
263*d57664e9SAndroid Build Coastguard Worker
264*d57664e9SAndroid Build Coastguard Worker        "com.android.sysprop.localization",
265*d57664e9SAndroid Build Coastguard Worker        "PlatformProperties",
266*d57664e9SAndroid Build Coastguard Worker    ],
267*d57664e9SAndroid Build Coastguard Worker    sdk_version: "core_platform",
268*d57664e9SAndroid Build Coastguard Worker    installable: false,
269*d57664e9SAndroid Build Coastguard Worker}
270*d57664e9SAndroid Build Coastguard Worker
271*d57664e9SAndroid Build Coastguard Worker// NOTE: This filegroup is exposed for vendor libraries to depend on and is referenced in
272*d57664e9SAndroid Build Coastguard Worker// documentation. Do not remove without consulting the treble/hidl teams.
273*d57664e9SAndroid Build Coastguard Workerfilegroup {
274*d57664e9SAndroid Build Coastguard Worker    name: "framework-jarjar-rules",
275*d57664e9SAndroid Build Coastguard Worker    srcs: ["framework-jarjar-rules.txt"],
276*d57664e9SAndroid Build Coastguard Worker    visibility: ["//visibility:public"],
277*d57664e9SAndroid Build Coastguard Worker}
278*d57664e9SAndroid Build Coastguard Worker
279*d57664e9SAndroid Build Coastguard Workerjava_defaults {
280*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex-defaults",
281*d57664e9SAndroid Build Coastguard Worker    defaults: [
282*d57664e9SAndroid Build Coastguard Worker        "framework-aidl-export-defaults",
283*d57664e9SAndroid Build Coastguard Worker        "latest_android_hardware_soundtrigger3_java_static",
284*d57664e9SAndroid Build Coastguard Worker        "framework-minus-apex-aconfig-libraries",
285*d57664e9SAndroid Build Coastguard Worker    ],
286*d57664e9SAndroid Build Coastguard Worker    srcs: [
287*d57664e9SAndroid Build Coastguard Worker        ":framework-non-updatable-sources",
288*d57664e9SAndroid Build Coastguard Worker        "core/java/**/*.logtags",
289*d57664e9SAndroid Build Coastguard Worker        ":apex-info-list",
290*d57664e9SAndroid Build Coastguard Worker    ],
291*d57664e9SAndroid Build Coastguard Worker    aidl: {
292*d57664e9SAndroid Build Coastguard Worker        generate_get_transaction_name: true,
293*d57664e9SAndroid Build Coastguard Worker        enforce_permissions: true,
294*d57664e9SAndroid Build Coastguard Worker        enforce_permissions_exceptions: [
295*d57664e9SAndroid Build Coastguard Worker            // Do not add entries to this list.
296*d57664e9SAndroid Build Coastguard Worker            ":framework-annotations",
297*d57664e9SAndroid Build Coastguard Worker            ":framework-blobstore-sources",
298*d57664e9SAndroid Build Coastguard Worker            ":framework-core-sources",
299*d57664e9SAndroid Build Coastguard Worker            ":framework-drm-sources",
300*d57664e9SAndroid Build Coastguard Worker            ":framework-graphics-nonupdatable-sources",
301*d57664e9SAndroid Build Coastguard Worker            ":framework-jobscheduler-sources",
302*d57664e9SAndroid Build Coastguard Worker            ":framework-keystore-sources",
303*d57664e9SAndroid Build Coastguard Worker            ":framework-identity-sources",
304*d57664e9SAndroid Build Coastguard Worker            ":framework-mca-effect-sources",
305*d57664e9SAndroid Build Coastguard Worker            ":framework-mca-filterfw-sources",
306*d57664e9SAndroid Build Coastguard Worker            ":framework-mca-filterpacks-sources",
307*d57664e9SAndroid Build Coastguard Worker            ":framework-media-non-updatable-sources",
308*d57664e9SAndroid Build Coastguard Worker            ":framework-mms-sources",
309*d57664e9SAndroid Build Coastguard Worker            ":framework-omapi-sources",
310*d57664e9SAndroid Build Coastguard Worker            ":framework-opengl-sources",
311*d57664e9SAndroid Build Coastguard Worker            ":framework-rs-sources",
312*d57664e9SAndroid Build Coastguard Worker            ":framework-sax-sources",
313*d57664e9SAndroid Build Coastguard Worker            ":framework-telecomm-sources",
314*d57664e9SAndroid Build Coastguard Worker            ":framework-telephony-common-sources",
315*d57664e9SAndroid Build Coastguard Worker            ":framework-telephony-sources",
316*d57664e9SAndroid Build Coastguard Worker            ":framework-wifi-annotations",
317*d57664e9SAndroid Build Coastguard Worker            ":framework-wifi-non-updatable-sources",
318*d57664e9SAndroid Build Coastguard Worker            ":vcn-utils-platform-sources",
319*d57664e9SAndroid Build Coastguard Worker            ":PacProcessor-aidl-sources",
320*d57664e9SAndroid Build Coastguard Worker            ":ProxyHandler-aidl-sources",
321*d57664e9SAndroid Build Coastguard Worker            ":net-utils-framework-common-srcs",
322*d57664e9SAndroid Build Coastguard Worker            ":platform-compat-native-aidl",
323*d57664e9SAndroid Build Coastguard Worker            ":credstore_aidl",
324*d57664e9SAndroid Build Coastguard Worker            ":dumpstate_aidl",
325*d57664e9SAndroid Build Coastguard Worker            ":framework_native_aidl",
326*d57664e9SAndroid Build Coastguard Worker            ":gatekeeper_aidl",
327*d57664e9SAndroid Build Coastguard Worker            ":gsiservice_aidl",
328*d57664e9SAndroid Build Coastguard Worker            ":idmap2_aidl",
329*d57664e9SAndroid Build Coastguard Worker            ":idmap2_core_aidl",
330*d57664e9SAndroid Build Coastguard Worker            ":incidentcompanion_aidl",
331*d57664e9SAndroid Build Coastguard Worker            ":inputconstants_aidl",
332*d57664e9SAndroid Build Coastguard Worker            ":installd_aidl",
333*d57664e9SAndroid Build Coastguard Worker            ":libaudioclient_aidl",
334*d57664e9SAndroid Build Coastguard Worker            ":libbinder_aidl",
335*d57664e9SAndroid Build Coastguard Worker            ":libcamera_client_aidl",
336*d57664e9SAndroid Build Coastguard Worker            ":libcamera_client_framework_aidl",
337*d57664e9SAndroid Build Coastguard Worker            ":libupdate_engine_aidl",
338*d57664e9SAndroid Build Coastguard Worker            ":logd_aidl",
339*d57664e9SAndroid Build Coastguard Worker            ":resourcemanager_aidl",
340*d57664e9SAndroid Build Coastguard Worker            ":storaged_aidl",
341*d57664e9SAndroid Build Coastguard Worker            ":vold_aidl",
342*d57664e9SAndroid Build Coastguard Worker            ":deviceproductinfoconstants_aidl",
343*d57664e9SAndroid Build Coastguard Worker        ],
344*d57664e9SAndroid Build Coastguard Worker        local_include_dirs: [
345*d57664e9SAndroid Build Coastguard Worker            "media/aidl",
346*d57664e9SAndroid Build Coastguard Worker        ],
347*d57664e9SAndroid Build Coastguard Worker        include_dirs: [
348*d57664e9SAndroid Build Coastguard Worker            "frameworks/av/aidl",
349*d57664e9SAndroid Build Coastguard Worker            "frameworks/native/libs/permission/aidl",
350*d57664e9SAndroid Build Coastguard Worker            "packages/modules/Bluetooth/framework/aidl-export",
351*d57664e9SAndroid Build Coastguard Worker            "packages/modules/Connectivity/framework/aidl-export",
352*d57664e9SAndroid Build Coastguard Worker            "packages/modules/Media/apex/aidl/stable",
353*d57664e9SAndroid Build Coastguard Worker            "hardware/interfaces/biometrics/common/aidl",
354*d57664e9SAndroid Build Coastguard Worker            "hardware/interfaces/biometrics/fingerprint/aidl",
355*d57664e9SAndroid Build Coastguard Worker            "hardware/interfaces/common/aidl",
356*d57664e9SAndroid Build Coastguard Worker            "hardware/interfaces/common/fmq/aidl",
357*d57664e9SAndroid Build Coastguard Worker            "hardware/interfaces/graphics/common/aidl",
358*d57664e9SAndroid Build Coastguard Worker            "hardware/interfaces/keymaster/aidl",
359*d57664e9SAndroid Build Coastguard Worker            "hardware/interfaces/power/aidl",
360*d57664e9SAndroid Build Coastguard Worker            "system/hardware/interfaces/media/aidl",
361*d57664e9SAndroid Build Coastguard Worker        ],
362*d57664e9SAndroid Build Coastguard Worker    },
363*d57664e9SAndroid Build Coastguard Worker    dxflags: [
364*d57664e9SAndroid Build Coastguard Worker        "--core-library",
365*d57664e9SAndroid Build Coastguard Worker        "--multi-dex",
366*d57664e9SAndroid Build Coastguard Worker    ],
367*d57664e9SAndroid Build Coastguard Worker    jarjar_rules: ":framework-jarjar-rules",
368*d57664e9SAndroid Build Coastguard Worker    javac_shard_size: 150,
369*d57664e9SAndroid Build Coastguard Worker    plugins: [
370*d57664e9SAndroid Build Coastguard Worker        "cached-property-annotation-processor",
371*d57664e9SAndroid Build Coastguard Worker        "view-inspector-annotation-processor",
372*d57664e9SAndroid Build Coastguard Worker        "staledataclass-annotation-processor",
373*d57664e9SAndroid Build Coastguard Worker        "error_prone_android_framework",
374*d57664e9SAndroid Build Coastguard Worker        "systemfeatures-metadata-processor",
375*d57664e9SAndroid Build Coastguard Worker    ],
376*d57664e9SAndroid Build Coastguard Worker    // Exports needed for staledataclass-annotation-processor, see b/139342589.
377*d57664e9SAndroid Build Coastguard Worker    javacflags: [
378*d57664e9SAndroid Build Coastguard Worker        "-J--add-modules=jdk.compiler",
379*d57664e9SAndroid Build Coastguard Worker        "-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",
380*d57664e9SAndroid Build Coastguard Worker        "-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED",
381*d57664e9SAndroid Build Coastguard Worker        "-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED",
382*d57664e9SAndroid Build Coastguard Worker        "-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
383*d57664e9SAndroid Build Coastguard Worker    ],
384*d57664e9SAndroid Build Coastguard Worker    required: [
385*d57664e9SAndroid Build Coastguard Worker        // TODO(b/120066492): remove default_television.xml when the build system
386*d57664e9SAndroid Build Coastguard Worker        // propagates "required" properly.
387*d57664e9SAndroid Build Coastguard Worker        "default_television.xml",
388*d57664e9SAndroid Build Coastguard Worker        // TODO(b/120066492): remove gps_debug and protolog.conf.json when the build
389*d57664e9SAndroid Build Coastguard Worker        // system propagates "required" properly.
390*d57664e9SAndroid Build Coastguard Worker        "gps_debug.conf",
391*d57664e9SAndroid Build Coastguard Worker        "framework-res",
392*d57664e9SAndroid Build Coastguard Worker        // any install dependencies should go into framework-minus-apex-install-dependencies
393*d57664e9SAndroid Build Coastguard Worker        // rather than here to avoid bloating incremental build time
394*d57664e9SAndroid Build Coastguard Worker    ],
395*d57664e9SAndroid Build Coastguard Worker    libs: [
396*d57664e9SAndroid Build Coastguard Worker        "androidx.annotation_annotation",
397*d57664e9SAndroid Build Coastguard Worker        "app-compat-annotations",
398*d57664e9SAndroid Build Coastguard Worker        "ext",
399*d57664e9SAndroid Build Coastguard Worker        "framework-updatable-stubs-module_libs_api",
400*d57664e9SAndroid Build Coastguard Worker        "unsupportedappusage",
401*d57664e9SAndroid Build Coastguard Worker        // TODO(b/379770939): remove prod version of flags from other containers in framework
402*d57664e9SAndroid Build Coastguard Worker        "aconfig_storage_stub",
403*d57664e9SAndroid Build Coastguard Worker    ],
404*d57664e9SAndroid Build Coastguard Worker    sdk_version: "core_platform",
405*d57664e9SAndroid Build Coastguard Worker    static_libs: [
406*d57664e9SAndroid Build Coastguard Worker        "aconfig_storage_reader_java",
407*d57664e9SAndroid Build Coastguard Worker        "android.hardware.common.fmq-V1-java",
408*d57664e9SAndroid Build Coastguard Worker        "bouncycastle-repackaged-unbundled",
409*d57664e9SAndroid Build Coastguard Worker        "com.android.sysprop.foldlockbehavior",
410*d57664e9SAndroid Build Coastguard Worker        "com.android.sysprop.view",
411*d57664e9SAndroid Build Coastguard Worker        "configinfra_framework_flags_java_lib",
412*d57664e9SAndroid Build Coastguard Worker        "framework-internal-utils",
413*d57664e9SAndroid Build Coastguard Worker        "dynamic_instrumentation_manager_aidl-java",
414*d57664e9SAndroid Build Coastguard Worker        // If MimeMap ever becomes its own APEX, then this dependency would need to be removed
415*d57664e9SAndroid Build Coastguard Worker        // in favor of an API stubs dependency in java_library "framework" below.
416*d57664e9SAndroid Build Coastguard Worker        "mimemap",
417*d57664e9SAndroid Build Coastguard Worker        "av-types-aidl-java",
418*d57664e9SAndroid Build Coastguard Worker        "tv_tuner_resource_manager_aidl_interface-java",
419*d57664e9SAndroid Build Coastguard Worker        "soundtrigger_middleware-aidl-java",
420*d57664e9SAndroid Build Coastguard Worker        "modules-utils-binary-xml",
421*d57664e9SAndroid Build Coastguard Worker        "modules-utils-build",
422*d57664e9SAndroid Build Coastguard Worker        "modules-utils-fastxmlserializer",
423*d57664e9SAndroid Build Coastguard Worker        "modules-utils-preconditions",
424*d57664e9SAndroid Build Coastguard Worker        "modules-utils-statemachine",
425*d57664e9SAndroid Build Coastguard Worker        "modules-utils-os",
426*d57664e9SAndroid Build Coastguard Worker        "modules-utils-uieventlogger-interface",
427*d57664e9SAndroid Build Coastguard Worker        "framework-permission-aidl-java",
428*d57664e9SAndroid Build Coastguard Worker        "spatializer-aidl-java",
429*d57664e9SAndroid Build Coastguard Worker        "audiopolicy-aidl-java",
430*d57664e9SAndroid Build Coastguard Worker        "sounddose-aidl-java",
431*d57664e9SAndroid Build Coastguard Worker        "modules-utils-expresslog",
432*d57664e9SAndroid Build Coastguard Worker        "perfetto_trace_javastream_protos_jarjar",
433*d57664e9SAndroid Build Coastguard Worker        "libaconfig_java_proto_nano",
434*d57664e9SAndroid Build Coastguard Worker        "aconfig_device_paths_java",
435*d57664e9SAndroid Build Coastguard Worker    ],
436*d57664e9SAndroid Build Coastguard Worker}
437*d57664e9SAndroid Build Coastguard Worker
438*d57664e9SAndroid Build Coastguard Worker// Collection of non updatable unbundled jars. The list here should match
439*d57664e9SAndroid Build Coastguard Worker// |non_updatable_modules| variable in frameworks/base/api/api.go.
440*d57664e9SAndroid Build Coastguard Workerjava_library {
441*d57664e9SAndroid Build Coastguard Worker    name: "framework-non-updatable-unbundled-impl-libs",
442*d57664e9SAndroid Build Coastguard Worker    static_libs: [
443*d57664e9SAndroid Build Coastguard Worker        "framework-location.impl",
444*d57664e9SAndroid Build Coastguard Worker    ] + select(soong_config_variable("ANDROID", "release_crashrecovery_module"), {
445*d57664e9SAndroid Build Coastguard Worker        "true": [],
446*d57664e9SAndroid Build Coastguard Worker        default: [
447*d57664e9SAndroid Build Coastguard Worker            "framework-platformcrashrecovery.impl",
448*d57664e9SAndroid Build Coastguard Worker        ],
449*d57664e9SAndroid Build Coastguard Worker    }) + select(release_flag("RELEASE_ONDEVICE_INTELLIGENCE_MODULE"), {
450*d57664e9SAndroid Build Coastguard Worker        true: [],
451*d57664e9SAndroid Build Coastguard Worker        default: ["framework-ondeviceintelligence-platform.impl"],
452*d57664e9SAndroid Build Coastguard Worker    }),
453*d57664e9SAndroid Build Coastguard Worker    sdk_version: "core_platform",
454*d57664e9SAndroid Build Coastguard Worker    installable: false,
455*d57664e9SAndroid Build Coastguard Worker}
456*d57664e9SAndroid Build Coastguard Worker
457*d57664e9SAndroid Build Coastguard Worker// Separated so framework-minus-apex-defaults can be used without the libs dependency
458*d57664e9SAndroid Build Coastguard Workerjava_defaults {
459*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex-with-libs-defaults",
460*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-minus-apex-defaults"],
461*d57664e9SAndroid Build Coastguard Worker    libs: [
462*d57664e9SAndroid Build Coastguard Worker        "framework-virtualization.stubs.module_lib",
463*d57664e9SAndroid Build Coastguard Worker        "framework-non-updatable-unbundled-impl-libs",
464*d57664e9SAndroid Build Coastguard Worker    ],
465*d57664e9SAndroid Build Coastguard Worker}
466*d57664e9SAndroid Build Coastguard Worker
467*d57664e9SAndroid Build Coastguard Workerjava_defaults {
468*d57664e9SAndroid Build Coastguard Worker    name: "framework-non-updatable-lint-defaults",
469*d57664e9SAndroid Build Coastguard Worker    lint: {
470*d57664e9SAndroid Build Coastguard Worker        extra_check_modules: ["AndroidFrameworkLintChecker"],
471*d57664e9SAndroid Build Coastguard Worker        disabled_checks: ["ApiMightLeakAppVisibility"],
472*d57664e9SAndroid Build Coastguard Worker        error_checks: [
473*d57664e9SAndroid Build Coastguard Worker            "ClearIdentityCallNotFollowedByTryFinally",
474*d57664e9SAndroid Build Coastguard Worker            "NestedClearCallingIdentityCalls",
475*d57664e9SAndroid Build Coastguard Worker            "NonFinalTokenOfOriginalCallingIdentity",
476*d57664e9SAndroid Build Coastguard Worker            "RestoreIdentityCallNotInFinallyBlock",
477*d57664e9SAndroid Build Coastguard Worker            "ResultOfClearIdentityCallNotStoredInVariable",
478*d57664e9SAndroid Build Coastguard Worker            "UnusedTokenOfOriginalCallingIdentity",
479*d57664e9SAndroid Build Coastguard Worker            "UseOfCallerAwareMethodsWithClearedIdentity",
480*d57664e9SAndroid Build Coastguard Worker        ],
481*d57664e9SAndroid Build Coastguard Worker    },
482*d57664e9SAndroid Build Coastguard Worker}
483*d57664e9SAndroid Build Coastguard Worker
484*d57664e9SAndroid Build Coastguard Worker// we are unfortunately building the turbine jar twice, but more efficient and less complex
485*d57664e9SAndroid Build Coastguard Worker// than generating a similar set of stubs with metalava
486*d57664e9SAndroid Build Coastguard Workerjava_library {
487*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex-headers",
488*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-minus-apex-defaults"],
489*d57664e9SAndroid Build Coastguard Worker    installable: false,
490*d57664e9SAndroid Build Coastguard Worker    // For backwards compatibility.
491*d57664e9SAndroid Build Coastguard Worker    stem: "framework",
492*d57664e9SAndroid Build Coastguard Worker    apex_available: ["//apex_available:platform"],
493*d57664e9SAndroid Build Coastguard Worker    visibility: [
494*d57664e9SAndroid Build Coastguard Worker        "//frameworks/base:__subpackages__",
495*d57664e9SAndroid Build Coastguard Worker        "//packages/modules/NeuralNetworks:__subpackages__",
496*d57664e9SAndroid Build Coastguard Worker    ],
497*d57664e9SAndroid Build Coastguard Worker    compile_dex: false,
498*d57664e9SAndroid Build Coastguard Worker    headers_only: true,
499*d57664e9SAndroid Build Coastguard Worker}
500*d57664e9SAndroid Build Coastguard Worker
501*d57664e9SAndroid Build Coastguard Workerjava_library {
502*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex",
503*d57664e9SAndroid Build Coastguard Worker    defaults: [
504*d57664e9SAndroid Build Coastguard Worker        "framework-minus-apex-with-libs-defaults",
505*d57664e9SAndroid Build Coastguard Worker        "framework-non-updatable-lint-defaults",
506*d57664e9SAndroid Build Coastguard Worker    ],
507*d57664e9SAndroid Build Coastguard Worker    installable: true,
508*d57664e9SAndroid Build Coastguard Worker    // For backwards compatibility.
509*d57664e9SAndroid Build Coastguard Worker    stem: "framework",
510*d57664e9SAndroid Build Coastguard Worker    apex_available: ["//apex_available:platform"],
511*d57664e9SAndroid Build Coastguard Worker    visibility: [
512*d57664e9SAndroid Build Coastguard Worker        "//frameworks/base",
513*d57664e9SAndroid Build Coastguard Worker        "//frameworks/base/location",
514*d57664e9SAndroid Build Coastguard Worker        // TODO(b/147128803) remove the below lines
515*d57664e9SAndroid Build Coastguard Worker        "//frameworks/base/apex/blobstore/framework",
516*d57664e9SAndroid Build Coastguard Worker        "//frameworks/base/apex/jobscheduler/framework",
517*d57664e9SAndroid Build Coastguard Worker        "//frameworks/base/packages/Tethering/tests/unit",
518*d57664e9SAndroid Build Coastguard Worker        "//packages/modules/Connectivity/Tethering/tests/unit",
519*d57664e9SAndroid Build Coastguard Worker    ],
520*d57664e9SAndroid Build Coastguard Worker    errorprone: {
521*d57664e9SAndroid Build Coastguard Worker        javacflags: [
522*d57664e9SAndroid Build Coastguard Worker            "-Xep:AndroidFrameworkCompatChange:ERROR",
523*d57664e9SAndroid Build Coastguard Worker            "-Xep:AndroidFrameworkUid:ERROR",
524*d57664e9SAndroid Build Coastguard Worker        ],
525*d57664e9SAndroid Build Coastguard Worker    },
526*d57664e9SAndroid Build Coastguard Worker    lint: {
527*d57664e9SAndroid Build Coastguard Worker        baseline_filename: "lint-baseline.xml",
528*d57664e9SAndroid Build Coastguard Worker        warning_checks: [
529*d57664e9SAndroid Build Coastguard Worker            "FlaggedApi",
530*d57664e9SAndroid Build Coastguard Worker        ],
531*d57664e9SAndroid Build Coastguard Worker    },
532*d57664e9SAndroid Build Coastguard Worker    jarjar_prefix: "com.android.internal.hidden_from_bootclasspath",
533*d57664e9SAndroid Build Coastguard Worker}
534*d57664e9SAndroid Build Coastguard Worker
535*d57664e9SAndroid Build Coastguard Workerjava_library {
536*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex-intdefs",
537*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-minus-apex-with-libs-defaults"],
538*d57664e9SAndroid Build Coastguard Worker    plugins: ["intdef-annotation-processor"],
539*d57664e9SAndroid Build Coastguard Worker
540*d57664e9SAndroid Build Coastguard Worker    // Errorprone and android lint will already run on framework-minus-apex, don't rerun them on
541*d57664e9SAndroid Build Coastguard Worker    // the intdefs version in order to speed up the build.
542*d57664e9SAndroid Build Coastguard Worker    errorprone: {
543*d57664e9SAndroid Build Coastguard Worker        enabled: false,
544*d57664e9SAndroid Build Coastguard Worker    },
545*d57664e9SAndroid Build Coastguard Worker    lint: {
546*d57664e9SAndroid Build Coastguard Worker        enabled: false,
547*d57664e9SAndroid Build Coastguard Worker
548*d57664e9SAndroid Build Coastguard Worker    },
549*d57664e9SAndroid Build Coastguard Worker}
550*d57664e9SAndroid Build Coastguard Worker
551*d57664e9SAndroid Build Coastguard Worker// This "framework" module is NOT installed to the device. It's
552*d57664e9SAndroid Build Coastguard Worker// "framework-minus-apex" that gets installed to the device. Note that
553*d57664e9SAndroid Build Coastguard Worker// the filename is still framework.jar (via the stem property) for
554*d57664e9SAndroid Build Coastguard Worker// compatibility reason. The purpose of this module is to provide
555*d57664e9SAndroid Build Coastguard Worker// framework APIs (both public and private) for bundled apps.
556*d57664e9SAndroid Build Coastguard Worker// "framework-minus-apex" can't be used for the purpose because 1)
557*d57664e9SAndroid Build Coastguard Worker// many apps have already hardcoded the name "framework" and
558*d57664e9SAndroid Build Coastguard Worker// 2) it lacks API symbols from updatable modules - as it's clear from
559*d57664e9SAndroid Build Coastguard Worker// its suffix "-minus-apex".
560*d57664e9SAndroid Build Coastguard Workerjava_library {
561*d57664e9SAndroid Build Coastguard Worker    name: "framework",
562*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-aidl-export-defaults"],
563*d57664e9SAndroid Build Coastguard Worker    installable: false, // this lib is a build-only library
564*d57664e9SAndroid Build Coastguard Worker    static_libs: [
565*d57664e9SAndroid Build Coastguard Worker        "app-compat-annotations",
566*d57664e9SAndroid Build Coastguard Worker        "framework-minus-apex",
567*d57664e9SAndroid Build Coastguard Worker        "framework-non-updatable-unbundled-impl-libs",
568*d57664e9SAndroid Build Coastguard Worker        "framework-updatable-stubs-module_libs_api",
569*d57664e9SAndroid Build Coastguard Worker    ],
570*d57664e9SAndroid Build Coastguard Worker    sdk_version: "core_platform",
571*d57664e9SAndroid Build Coastguard Worker    apex_available: ["//apex_available:platform"],
572*d57664e9SAndroid Build Coastguard Worker}
573*d57664e9SAndroid Build Coastguard Worker
574*d57664e9SAndroid Build Coastguard Workerjava_library {
575*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex-install-dependencies",
576*d57664e9SAndroid Build Coastguard Worker    required: [
577*d57664e9SAndroid Build Coastguard Worker        "framework-minus-apex",
578*d57664e9SAndroid Build Coastguard Worker        "framework-platform-compat-config",
579*d57664e9SAndroid Build Coastguard Worker        "framework-location-compat-config",
580*d57664e9SAndroid Build Coastguard Worker        "services-platform-compat-config",
581*d57664e9SAndroid Build Coastguard Worker        "icu4j-platform-compat-config",
582*d57664e9SAndroid Build Coastguard Worker        "TeleService-platform-compat-config",
583*d57664e9SAndroid Build Coastguard Worker        "documents-ui-compat-config",
584*d57664e9SAndroid Build Coastguard Worker        "calendar-provider-compat-config",
585*d57664e9SAndroid Build Coastguard Worker        "contacts-provider-platform-compat-config",
586*d57664e9SAndroid Build Coastguard Worker    ] + select(soong_config_variable("ANDROID", "release_crashrecovery_module"), {
587*d57664e9SAndroid Build Coastguard Worker        "true": [],
588*d57664e9SAndroid Build Coastguard Worker        default: [
589*d57664e9SAndroid Build Coastguard Worker            "framework-platformcrashrecovery-compat-config",
590*d57664e9SAndroid Build Coastguard Worker        ],
591*d57664e9SAndroid Build Coastguard Worker    }) + select(release_flag("RELEASE_ONDEVICE_INTELLIGENCE_MODULE"), {
592*d57664e9SAndroid Build Coastguard Worker        true: [],
593*d57664e9SAndroid Build Coastguard Worker        default: ["framework-ondeviceintelligence-platform-compat-config"],
594*d57664e9SAndroid Build Coastguard Worker    }),
595*d57664e9SAndroid Build Coastguard Worker}
596*d57664e9SAndroid Build Coastguard Worker
597*d57664e9SAndroid Build Coastguard Workerplatform_compat_config {
598*d57664e9SAndroid Build Coastguard Worker    name: "framework-platform-compat-config",
599*d57664e9SAndroid Build Coastguard Worker    src: ":framework-minus-apex",
600*d57664e9SAndroid Build Coastguard Worker}
601*d57664e9SAndroid Build Coastguard Worker
602*d57664e9SAndroid Build Coastguard Workerfilegroup {
603*d57664e9SAndroid Build Coastguard Worker    name: "framework-ike-shared-srcs",
604*d57664e9SAndroid Build Coastguard Worker    visibility: ["//packages/modules/IPsec"],
605*d57664e9SAndroid Build Coastguard Worker    srcs: [
606*d57664e9SAndroid Build Coastguard Worker        "core/java/com/android/internal/util/HexDump.java",
607*d57664e9SAndroid Build Coastguard Worker        "core/java/com/android/internal/util/WakeupMessage.java",
608*d57664e9SAndroid Build Coastguard Worker        "packages/Vcn/framework-b/src/android/net/vcn/util/PersistableBundleUtils.java",
609*d57664e9SAndroid Build Coastguard Worker        "telephony/java/android/telephony/Annotation.java",
610*d57664e9SAndroid Build Coastguard Worker    ],
611*d57664e9SAndroid Build Coastguard Worker}
612*d57664e9SAndroid Build Coastguard Worker
613*d57664e9SAndroid Build Coastguard Workerfilegroup {
614*d57664e9SAndroid Build Coastguard Worker    name: "framework-android-os-unit-testable-src",
615*d57664e9SAndroid Build Coastguard Worker    srcs: [
616*d57664e9SAndroid Build Coastguard Worker        "core/java/android/os/DdmSyncState.java",
617*d57664e9SAndroid Build Coastguard Worker    ],
618*d57664e9SAndroid Build Coastguard Worker}
619*d57664e9SAndroid Build Coastguard Worker
620*d57664e9SAndroid Build Coastguard Workerfilegroup {
621*d57664e9SAndroid Build Coastguard Worker    name: "framework-networkstack-shared-srcs",
622*d57664e9SAndroid Build Coastguard Worker    srcs: [
623*d57664e9SAndroid Build Coastguard Worker        ":modules-utils-preconditions-srcs",
624*d57664e9SAndroid Build Coastguard Worker        "core/java/android/util/IndentingPrintWriter.java",
625*d57664e9SAndroid Build Coastguard Worker        "core/java/android/util/LocalLog.java",
626*d57664e9SAndroid Build Coastguard Worker        "core/java/com/android/internal/util/HexDump.java",
627*d57664e9SAndroid Build Coastguard Worker        "core/java/com/android/internal/util/IndentingPrintWriter.java",
628*d57664e9SAndroid Build Coastguard Worker        "core/java/com/android/internal/util/MessageUtils.java",
629*d57664e9SAndroid Build Coastguard Worker        "core/java/com/android/internal/util/RingBufferIndices.java",
630*d57664e9SAndroid Build Coastguard Worker        "core/java/com/android/internal/util/WakeupMessage.java",
631*d57664e9SAndroid Build Coastguard Worker        "core/java/com/android/internal/util/TokenBucket.java",
632*d57664e9SAndroid Build Coastguard Worker    ],
633*d57664e9SAndroid Build Coastguard Worker}
634*d57664e9SAndroid Build Coastguard Worker
635*d57664e9SAndroid Build Coastguard Worker// Build ext.jar
636*d57664e9SAndroid Build Coastguard Worker// ============================================================
637*d57664e9SAndroid Build Coastguard Workerjava_library {
638*d57664e9SAndroid Build Coastguard Worker    name: "ext",
639*d57664e9SAndroid Build Coastguard Worker    installable: true,
640*d57664e9SAndroid Build Coastguard Worker    sdk_version: "core_platform",
641*d57664e9SAndroid Build Coastguard Worker    static_libs: [
642*d57664e9SAndroid Build Coastguard Worker        "libphonenumber-platform",
643*d57664e9SAndroid Build Coastguard Worker        "tagsoup",
644*d57664e9SAndroid Build Coastguard Worker        "rappor",
645*d57664e9SAndroid Build Coastguard Worker    ],
646*d57664e9SAndroid Build Coastguard Worker    dxflags: ["--core-library"],
647*d57664e9SAndroid Build Coastguard Worker}
648*d57664e9SAndroid Build Coastguard Worker
649*d57664e9SAndroid Build Coastguard Worker// utility classes statically linked into framework-wifi and dynamically linked
650*d57664e9SAndroid Build Coastguard Worker// into wifi-service
651*d57664e9SAndroid Build Coastguard Workerjava_library {
652*d57664e9SAndroid Build Coastguard Worker    name: "framework-wifi-util-lib",
653*d57664e9SAndroid Build Coastguard Worker    sdk_version: "module_current",
654*d57664e9SAndroid Build Coastguard Worker    min_sdk_version: "30",
655*d57664e9SAndroid Build Coastguard Worker    srcs: [
656*d57664e9SAndroid Build Coastguard Worker        "core/java/com/android/internal/util/AsyncChannel.java",
657*d57664e9SAndroid Build Coastguard Worker        "core/java/com/android/internal/util/AsyncService.java",
658*d57664e9SAndroid Build Coastguard Worker        "core/java/com/android/internal/util/Protocol.java",
659*d57664e9SAndroid Build Coastguard Worker        "telephony/java/android/telephony/Annotation.java",
660*d57664e9SAndroid Build Coastguard Worker    ],
661*d57664e9SAndroid Build Coastguard Worker    libs: [
662*d57664e9SAndroid Build Coastguard Worker        "framework-annotations-lib",
663*d57664e9SAndroid Build Coastguard Worker        "framework-connectivity.stubs.module_lib",
664*d57664e9SAndroid Build Coastguard Worker        "unsupportedappusage",
665*d57664e9SAndroid Build Coastguard Worker    ],
666*d57664e9SAndroid Build Coastguard Worker    visibility: [
667*d57664e9SAndroid Build Coastguard Worker        "//frameworks/base/wifi",
668*d57664e9SAndroid Build Coastguard Worker        "//frameworks/base/services/net",
669*d57664e9SAndroid Build Coastguard Worker        "//packages/modules/Wifi/framework",
670*d57664e9SAndroid Build Coastguard Worker    ],
671*d57664e9SAndroid Build Coastguard Worker    lint: {
672*d57664e9SAndroid Build Coastguard Worker        baseline_filename: "lint-baseline.xml",
673*d57664e9SAndroid Build Coastguard Worker    },
674*d57664e9SAndroid Build Coastguard Worker    apex_available: ["com.android.wifi"],
675*d57664e9SAndroid Build Coastguard Worker}
676*d57664e9SAndroid Build Coastguard Worker
677*d57664e9SAndroid Build Coastguard Workerfilegroup {
678*d57664e9SAndroid Build Coastguard Worker    name: "android-non-updatable-stub-sources",
679*d57664e9SAndroid Build Coastguard Worker    srcs: [
680*d57664e9SAndroid Build Coastguard Worker        ":framework-mime-sources", // mimemap builds separately but has no separate droidstubs.
681*d57664e9SAndroid Build Coastguard Worker        ":framework-minus-apex-aconfig-srcjars",
682*d57664e9SAndroid Build Coastguard Worker        ":framework-non-updatable-sources",
683*d57664e9SAndroid Build Coastguard Worker        ":opt-telephony-srcs",
684*d57664e9SAndroid Build Coastguard Worker        ":opt-net-voip-srcs",
685*d57664e9SAndroid Build Coastguard Worker        "core/java/**/*.logtags",
686*d57664e9SAndroid Build Coastguard Worker        "**/package.html",
687*d57664e9SAndroid Build Coastguard Worker    ],
688*d57664e9SAndroid Build Coastguard Worker    visibility: ["//frameworks/base/api"],
689*d57664e9SAndroid Build Coastguard Worker}
690*d57664e9SAndroid Build Coastguard Worker
691*d57664e9SAndroid Build Coastguard Workerjava_library {
692*d57664e9SAndroid Build Coastguard Worker    name: "perfetto_trace_javastream_protos_jarjar",
693*d57664e9SAndroid Build Coastguard Worker    srcs: [
694*d57664e9SAndroid Build Coastguard Worker        ":perfetto_trace_javastream_protos",
695*d57664e9SAndroid Build Coastguard Worker    ],
696*d57664e9SAndroid Build Coastguard Worker    jarjar_rules: ":framework-jarjar-rules",
697*d57664e9SAndroid Build Coastguard Worker    sdk_version: "core_platform",
698*d57664e9SAndroid Build Coastguard Worker    installable: false,
699*d57664e9SAndroid Build Coastguard Worker}
700*d57664e9SAndroid Build Coastguard Worker
701*d57664e9SAndroid Build Coastguard Workerbuild = [
702*d57664e9SAndroid Build Coastguard Worker    "AconfigFlags.bp",
703*d57664e9SAndroid Build Coastguard Worker    "ProtoLibraries.bp",
704*d57664e9SAndroid Build Coastguard Worker    "TestProtoLibraries.bp",
705*d57664e9SAndroid Build Coastguard Worker    "Ravenwood.bp",
706*d57664e9SAndroid Build Coastguard Worker]
707