xref: /aosp_15_r20/build/bazel/rules/apis/api_surface.bzl (revision 7594170e27e0732bc44b93d1440d87a54b6ffe7c)
1*7594170eSAndroid Build Coastguard Worker# Copyright (C) 2023 The Android Open Source Project
2*7594170eSAndroid Build Coastguard Worker#
3*7594170eSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*7594170eSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*7594170eSAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*7594170eSAndroid Build Coastguard Worker#
7*7594170eSAndroid Build Coastguard Worker#     http://www.apache.org/licenses/LICENSE-2.0
8*7594170eSAndroid Build Coastguard Worker#
9*7594170eSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*7594170eSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*7594170eSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*7594170eSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*7594170eSAndroid Build Coastguard Worker# limitations under the License.
14*7594170eSAndroid Build Coastguard Worker
15*7594170eSAndroid Build Coastguard Worker"""Constants for Android API surfaces"""
16*7594170eSAndroid Build Coastguard Worker
17*7594170eSAndroid Build Coastguard WorkerPUBLIC_API = "publicapi"
18*7594170eSAndroid Build Coastguard WorkerSYSTEM_API = "systemapi"
19*7594170eSAndroid Build Coastguard WorkerTEST_API = "testapi"
20*7594170eSAndroid Build Coastguard WorkerMODULE_LIB_API = "module-libapi"
21*7594170eSAndroid Build Coastguard WorkerSYSTEM_SERVER_API = "system-serverapi"
22*7594170eSAndroid Build Coastguard WorkerINTRA_CORE_API = "intracoreapi"
23*7594170eSAndroid Build Coastguard WorkerCORE_PLATFORM_API = "core_platformapi"
24*7594170eSAndroid Build Coastguard Worker
25*7594170eSAndroid Build Coastguard Worker# VENDOR_API is API surface provided by system to vendor
26*7594170eSAndroid Build Coastguard Worker# Also known as LLNDK.
27*7594170eSAndroid Build Coastguard WorkerVENDOR_API = "vendorapi"
28*7594170eSAndroid Build Coastguard Worker
29*7594170eSAndroid Build Coastguard Worker# TOOLCHAIN_API is a special API surface provided by ART to compile other API domains
30*7594170eSAndroid Build Coastguard Worker# (e.g. core-lambda-stubs required to compile java files containing lambdas)
31*7594170eSAndroid Build Coastguard Worker# This is not part of go/android-api-types, and is not available to apps at runtime
32*7594170eSAndroid Build Coastguard WorkerTOOLCHAIN_API = "toolchainapi"
33*7594170eSAndroid Build Coastguard Worker
34*7594170eSAndroid Build Coastguard WorkerALL_API_SURFACES = [
35*7594170eSAndroid Build Coastguard Worker    PUBLIC_API,
36*7594170eSAndroid Build Coastguard Worker    SYSTEM_API,
37*7594170eSAndroid Build Coastguard Worker    TEST_API,
38*7594170eSAndroid Build Coastguard Worker    MODULE_LIB_API,
39*7594170eSAndroid Build Coastguard Worker    SYSTEM_SERVER_API,
40*7594170eSAndroid Build Coastguard Worker    INTRA_CORE_API,
41*7594170eSAndroid Build Coastguard Worker    CORE_PLATFORM_API,
42*7594170eSAndroid Build Coastguard Worker    VENDOR_API,
43*7594170eSAndroid Build Coastguard Worker    TOOLCHAIN_API,
44*7594170eSAndroid Build Coastguard Worker]
45