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// Aconfig declarations and libraries for the Android Automotive OS
16java_defaults {
17    name: "car-framework-aconfig-libraries",
18    // Add java_aconfig_libraries to here to add them to the AAOS
19    srcs: [
20        ":android.car.feature-aconfig-java{.generated_srcjars}",
21    ],
22    libs: [
23        // Add aconfig-annotations-lib as a dependency for the optimization
24        "aconfig-annotations-lib",
25        // Add aconfig new storage reader library for flag reading in flag codegen.
26        "aconfig_storage_stub",
27        // TODO(b/303773055): Remove the annotation after access issue is resolved.
28        "unsupportedappusage",
29        "framework-configinfrastructure.stubs.module_lib",
30    ],
31}
32
33// Default flags for java_aconfig_libraries that go into car-lib and car modules
34// fake_device_config is linked to avoid a build error
35java_defaults {
36    name: "car-framework-aconfig-java-defaults",
37    sdk_version: "core_platform",
38    libs: ["fake_device_config"],
39}
40
41aconfig_declarations {
42    name: "android.car.feature-aconfig",
43    package: "android.car.feature",
44    container: "system",
45    srcs: ["flags.aconfig"],
46}
47
48java_aconfig_library {
49    name: "android.car.feature-aconfig-java",
50    aconfig_declarations: "android.car.feature-aconfig",
51    defaults: ["car-framework-aconfig-java-defaults"],
52}
53
54java_aconfig_library {
55    name: "android.car.feature-aconfig-java-host",
56    aconfig_declarations: "android.car.feature-aconfig",
57    defaults: ["car-framework-aconfig-java-defaults"],
58    host_supported: true,
59}
60
61cc_aconfig_library {
62    name: "android.car.feature-aconfig-cpp",
63    aconfig_declarations: "android.car.feature-aconfig",
64}
65