| // 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", |
| ] |
| } |
| |
| 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", |
| ], |
| } |