• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2023 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
15"""Constants for Android API surfaces"""
16
17PUBLIC_API = "publicapi"
18SYSTEM_API = "systemapi"
19TEST_API = "testapi"
20MODULE_LIB_API = "module-libapi"
21SYSTEM_SERVER_API = "system-serverapi"
22INTRA_CORE_API = "intracoreapi"
23CORE_PLATFORM_API = "core_platformapi"
24
25# VENDOR_API is API surface provided by system to vendor
26# Also known as LLNDK.
27VENDOR_API = "vendorapi"
28
29# TOOLCHAIN_API is a special API surface provided by ART to compile other API domains
30# (e.g. core-lambda-stubs required to compile java files containing lambdas)
31# This is not part of go/android-api-types, and is not available to apps at runtime
32TOOLCHAIN_API = "toolchainapi"
33
34ALL_API_SURFACES = [
35    PUBLIC_API,
36    SYSTEM_API,
37    TEST_API,
38    MODULE_LIB_API,
39    SYSTEM_SERVER_API,
40    INTRA_CORE_API,
41    CORE_PLATFORM_API,
42    VENDOR_API,
43    TOOLCHAIN_API,
44]
45