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",
50        "framework-annotations-lib",
51        "modules-utils-preconditions",
52        "framework-location",
53        "framework-wifi",
54        "framework-bluetooth",
55    ],
56    // Stub build drops module api and breaks build. Add it here.
57    stub_only_libs: [
58        "framework-location",
59        "framework-wifi",
60        "framework-bluetooth",
61    ],
62
63    api_lint: {
64        enabled: true,
65    },
66
67    default_to_stubs: true,
68
69    // Need to update when merging with the current android.car
70    unsafe_ignore_missing_latest_api: true,
71
72    public: {
73        enabled: true,
74        sdk_version: "current",
75    },
76    test: {
77        enabled: true,
78        sdk_version: "test_current",
79    },
80    system: {
81        enabled: true,
82        sdk_version: "system_current",
83    },
84    module_lib: {
85        enabled: true,
86        sdk_version: "module_current",
87    },
88
89    // stubs to everyone
90    stubs_library_visibility: ["//visibility:public"],
91
92    // Allowed car modules and some selected apps only
93    impl_library_visibility: [
94        "//packages/services/Car/service-builtin",
95        "//packages/services/Car/service",
96        "//frameworks/opt/car/services",
97    ],
98
99    compile_dex: true,
100
101    installable: true,
102}
103