// Copyright (C) 2018 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package { default_applicable_licenses: ["Android-Apache-2.0"], } filegroup { name: "libcarpowermanager_aidl", srcs: [ "src/android/car/ICar.aidl", "src/android/car/hardware/power/CarPowerPolicy.aidl", "src/android/car/hardware/power/CarPowerPolicyFilter.aidl", "src/android/car/hardware/power/ICarPower.aidl", "src/android/car/hardware/power/ICarPowerPolicyListener.aidl", "src/android/car/hardware/power/ICarPowerStateListener.aidl", ], path: "src", } cc_library { name: "libcarpowermanager", vendor_available: true, aidl: { export_aidl_headers: true, local_include_dirs: [ "src", ], }, cflags: [ "-Wall", "-Werror", "-Wextra", "-Wno-unused-parameter", ], include_dirs: [ "packages/services/Car/car-lib/native/include", ], shared_libs: [ "libbinder", "liblog", "libutils", ], srcs: [ ":libcarpowermanager_aidl", "native/CarPowerManager/CarPowerManager.cpp", "native/CarPowerManager/CarPowerPolicy.cpp", "native/CarPowerManager/CarPowerPolicyFilter.cpp", ], } java_library { name: "android.car.cluster.navigation", proto: { type: "lite", }, static_libs: ["libprotobuf-java-lite"], srcs: ["src/android/car/navigation/navigation_state.proto"] } // library to access settings from CarSettings java_library { name: "android.car.settings", srcs: ["src/android/car/settings/CarSettings.java"] } // library to access common constants between carlibrary and system server. java_library { name: "com.android.car.internal.common", srcs: [ "src/com/android/car/internal/common/**/*.java", "src/com/android/car/internal/common/EventLogTags.logtags", "src/com/android/car/internal/ExcludeFromCodeCoverageGeneratedReport.java", ], } java_library { name: "android.car", srcs: [ "src/**/*.java", "src/**/*.aidl", "src/com/android/car/internal/common/EventLogTags.logtags", ], aidl: { include_dirs: [ "system/bt/binder", ], }, exclude_srcs: [ "src/android/car/storagemonitoring/IoStats.aidl", "src/android/car/storagemonitoring/IoStatsEntry.aidl", ], product_variables: { pdk: { enabled: false, }, }, installable: true, } stubs_defaults { name: "android.car-docs-default", srcs: [ "src/**/*.java", ], libs: [ "android.car", ], product_variables: { pdk: { enabled: false, }, }, } genrule { name: "android-car-last-released-api", srcs: [ "api/released/*.txt", ], cmd: "cp -f $$(echo $(in) | tr \" \" \"\\n\" | sort -n | tail -1) $(genDir)/last-released-api.txt", out: [ "last-released-api.txt", ], } genrule { name: "android-car-last-released-system-api", srcs: [ "api/system-released/*.txt", ], cmd: "cp -f $$(echo $(in) | tr \" \" \"\\n\" | sort -n | tail -1) $(genDir)/last-released-system-api.txt", out: [ "last-released-system-api.txt", ], } droidstubs { name: "android.car-stubs-docs", defaults: ["android.car-docs-default"], args: "--hide UnavailableSymbol --no-docs --stub-packages android.car* " + "--hide-package com.android.internal ", installable: false, check_api: { last_released: { api_file: ":android-car-last-released-api", removed_api_file: "api/removed.txt", args: " -hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 " + " -warning 7 -warning 8 -warning 9 -warning 10 -warning 11 -warning 12 " + " -warning 13 -warning 14 -warning 15 -warning 16 -warning 17 -warning 18 -hide 113 ", }, current: { api_file: "api/current.txt", removed_api_file: "api/removed.txt", args: " -error 2 -error 3 -error 4 -error 5 -error 6 -error 7 -error 8 -error 9 -error 10 -error 11 " + " -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 -error 19 -error 20 " + " -error 21 -error 23 -error 24 -error 25 -hide 113 ", }, api_lint: { enabled: true, baseline_file: "api/lint-baseline.txt", } }, } droidstubs { name: "android.car-system-stubs-docs", defaults: ["android.car-docs-default"], // TODO(b/174572385): Remove CallbackInterface once this b/174572385 is fixed args: "--hide CallbackInterface --hide UnavailableSymbol --hide HiddenSuperclass " + "--no-docs --stub-packages android.car* " + "--show-annotation android.annotation.SystemApi --hide-package com.android.internal ", installable: false, check_api: { last_released: { api_file: ":android-car-last-released-system-api", removed_api_file: "api/system-removed.txt", args: " -hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 " + " -warning 7 -warning 8 -warning 9 -warning 10 -warning 11 -warning 12 " + " -warning 13 -warning 14 -warning 15 -warning 16 -warning 17 -warning 18 -hide 113 ", }, current: { api_file: "api/system-current.txt", removed_api_file: "api/system-removed.txt", args: " -error 2 -error 3 -error 4 -error 5 -error 6 -error 7 -error 8 -error 9 -error 10 -error 11 " + " -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 -error 19 -error 20 " + " -error 21 -error 23 -error 24 -error 25 -hide 113 ", }, api_lint: { enabled: true, baseline_file: "api/system-lint-baseline.txt", } }, } droidstubs { name: "android.car-test-stubs-docs", defaults: ["android.car-docs-default"], args: "--hide HiddenSuperclass --hide UnavailableSymbol --no-docs --stub-packages android.car* " + "--show-annotation android.annotation.TestApi ", installable: false, check_api: { current: { api_file: "api/test-current.txt", removed_api_file: "api/test-removed.txt", args: " -error 2 -error 3 -error 4 -error 5 -error 6 -error 7 -error 8 -error 9 -error 10 -error 11 " + " -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 -error 19 -error 20 " + " -error 21 -error 23 -error 24 -error 25 -hide 113 ", }, }, } droidstubs { name: "android.car-stub-docs", srcs: [ "src/**/*.java", ], libs: [ "android.car", ], api_filename: "api.txt", args: "--hide HiddenSuperclass --hide UnavailableSymbol --no-docs --stub-packages android.car* ", installable: false, product_variables: { pdk: { enabled: false, }, }, } // Generates stubs for API documentation. droidstubs { name: "car-doc-stubs", srcs: [ "src/**/*.java", ], create_doc_stubs: true, annotations_enabled: true, api_levels_annotations_enabled: true, api_levels_jar_filename: "android.car.jar", api_levels_annotations_dirs: [ "sdk-dir", "api-versions-jars-dir", ], previous_api: ":android-car-last-released-api", merge_annotations_dirs: [ "metalava-manual", ], arg_files: [ "AndroidManifest.xml", ], // Add --verbose to print metalava details. args: "--manifest $(location AndroidManifest.xml) " + "--error UnhiddenSystemApi " + "--hide RequiresPermission " + "--hide CallbackInterface " + "--hide MissingPermission " + "--hide HiddenSuperclass --hide DeprecationMismatch --hide UnavailableSymbol " + "--hide SdkConstant --hide HiddenTypeParameter --hide Todo --hide Typo " + "--hide Todo --hide Typo ", write_sdk_values: true, } // Generates API docs for go/devsite. // // How API docs are generated: // source files -> (droidstubs/metalava) -> stub source files -> (droiddoc/doclava) -> docs // // The metalava conversion is done by droidstub module "car-doc-stubs". // // TODO(b/162958231): Remove "ds-car-docs" from build/soong/java/legacy_core_platform_api_usage.go. droiddoc { name: "ds-car-docs", srcs: [ ":car-doc-stubs", ], libs: [ "stub-annotations", "unsupportedappusage", ], custom_template: "droiddoc-templates-sdk", // These variables that are used in doclava templates. hdf: [ "dac true", "sdk.preview 0", // Not a preview version. "sdk.version 31", "android.whichdoc online", "android.hasSamples false", ], arg_files: [ "AndroidManifest.xml", ], proofread_file: "ds-sdk-docs-proofrerad.txt", // See doclava docs in https://github.com/tinks/doclava. // See error numbers in external/doclava/src/com/google/doclava/Errors.java. // TODO(b/163831343): Add -werror -lerror to catch bad javadocs args: "-android -manifest $(location AndroidManifest.xml) -toroot / -devsite -yamlV2 -metalavaApiSince " + "-hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 " + "-stubpackages android.car -dac_libraryroot android/car ", } java_library { name: "android.car-stubs", srcs: [ ":android.car-stub-docs", ], sdk_version: "current", product_variables: { pdk: { enabled: false, }, }, installable: false, dist: { targets: ["dist_files"], } } java_library { name: "android.car-stubs-dex", static_libs: ["android.car-stubs"], sdk_version: "current", product_variables: { pdk: { enabled: false, }, }, compile_dex: true, } java_library { name: "android.car-system-stubs", srcs: [ ":android.car-system-stubs-docs", ], sdk_version: "system_current", product_variables: { pdk: { enabled: false, }, }, installable: false, dist: { targets: ["dist_files"], } } java_library { name: "android.car-system-stubs-dex", static_libs: ["android.car-system-stubs"], sdk_version: "system_current", product_variables: { pdk: { enabled: false, }, }, compile_dex: true, } java_library { name: "android.car-test-stubs", srcs: [ ":android.car-test-stubs-docs", ], sdk_version: "test_current", product_variables: { pdk: { enabled: false, }, }, installable: false, } java_library { name: "android.car-test-stubs-dex", static_libs: ["android.car-test-stubs"], sdk_version: "test_current", product_variables: { pdk: { enabled: false, }, }, compile_dex: true, dist: { targets: ["dist_files"], } } // Export the api/system-current.txt file. filegroup { name: "car-api-system-current.txt", visibility: [ "//cts/tests/signature/api", ], srcs: [ "api/system-current.txt", ], } // Export the api/system-removed.txt file. filegroup { name: "car-api-system-removed.txt", visibility: [ "//cts/tests/signature/api", ], srcs: [ "api/system-removed.txt", ], }