1// Copyright (C) 2021 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_aaos_framework",
17    default_applicable_licenses: ["Android-Apache-2.0"],
18}
19
20// This will replace the current android.car later. For now, use it only for testing / building
21// purpose
22// TODO(b/195961388): merge with android.car
23java_sdk_library {
24    name: "android.car-module",
25
26    defaults: [
27        "car-framework-aconfig-libraries",
28    ],
29    srcs: [
30        ":android.car-full-src",
31        ":com.android.car.internal.dep-src",
32    ],
33    aidl: {
34        include_dirs: [
35            "packages/services/Car/car-lib/src",
36            "packages/modules/Bluetooth/framework/aidl-export",
37        ],
38    },
39
40    sdk_version: "module_current",
41    // TODO(b/288271411): enable it when car mainline module is supported
42    // min_sdk_version: "33",
43    apex_available: [
44        "com.android.car.framework",
45    ],
46    shared_library: false, // added to bootclasspath
47
48    libs: [
49        "android.car.builtin.stubs.module_lib",
50        "framework-annotations-lib",
51        "modules-utils-preconditions",
52    ],
53    impl_only_libs: [
54        "framework-location.stubs.module_lib",
55        "framework-wifi.stubs.module_lib",
56        "framework-bluetooth.stubs.module_lib",
57    ],
58
59    api_lint: {
60        enabled: true,
61    },
62
63    default_to_stubs: true,
64
65    // Need to update when merging with the current android.car
66    unsafe_ignore_missing_latest_api: true,
67
68    public: {
69        enabled: true,
70        sdk_version: "current",
71        libs: [
72            "framework-location.stubs",
73            "framework-wifi.stubs",
74            "framework-bluetooth.stubs",
75        ],
76    },
77    test: {
78        enabled: true,
79        sdk_version: "test_current",
80        libs: [
81            "framework-location.stubs.test",
82            "framework-wifi.stubs.system",
83            "framework-bluetooth.stubs.system",
84        ],
85    },
86    system: {
87        enabled: true,
88        sdk_version: "system_current",
89        libs: [
90            "framework-location.stubs.system",
91            "framework-wifi.stubs.system",
92            "framework-bluetooth.stubs.system",
93        ],
94    },
95    module_lib: {
96        enabled: true,
97        sdk_version: "module_current",
98        libs: [
99            "framework-location.stubs.module_lib",
100            "framework-wifi.stubs.module_lib",
101            "framework-bluetooth.stubs.module_lib",
102        ],
103    },
104
105    // stubs to everyone
106    stubs_library_visibility: ["//visibility:public"],
107
108    // Allowed car modules and some selected apps only
109    impl_library_visibility: [
110        "//packages/services/Car/service-builtin",
111        "//packages/services/Car/service",
112        "//frameworks/opt/car/services",
113    ],
114
115    compile_dex: true,
116
117    installable: true,
118    lint: {
119        baseline_filename: "lint-baseline.xml",
120    },
121}
122