1// Copyright (C) 2018 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 20filegroup { 21 name: "android.car.cluster.navigation-src", 22 srcs: ["src/android/car/navigation/navigation_state.proto"], 23 visibility: [ 24 "//packages/services/Car/car-lib", 25 "//packages/services/Car/service", 26 ], 27} 28 29// Public protos for CarTelemetryManager clients. 30filegroup { 31 name: "cartelemetryservice-proto-srcs", 32 srcs: [ 33 "src/android/car/telemetry/telemetry.proto", 34 ], 35} 36 37java_library { 38 name: "android.car.cluster.navigation", 39 proto: { 40 type: "lite", 41 }, 42 sdk_version: "module_current", 43 min_sdk_version: "31", 44 apex_available: [ 45 "//apex_available:platform", 46 "com.android.car.framework", 47 ], 48 static_libs: ["libprotobuf-java-lite"], 49 srcs: ["src/android/car/navigation/navigation_state.proto"], 50} 51 52filegroup { 53 name: "android.car-full-src", 54 srcs: [ 55 "src/**/*.java", 56 "src/**/*.aidl", 57 ], 58 visibility: [ 59 "//packages/services/Car/car-lib", 60 "//packages/services/Car/car-lib-module", 61 "//packages/services/Car/tests/CarLibUnitTest:__subpackages__", 62 ], 63} 64 65java_defaults { 66 name: "android.car-defaults", 67 defaults: [ 68 "car-framework-aconfig-libraries", 69 ], 70 srcs: [ 71 ":android.car-full-src", 72 ], 73 aidl: { 74 include_dirs: [ 75 "packages/modules/Bluetooth/framework/aidl-export", 76 ], 77 }, 78 libs: [ 79 "android.car.builtin", 80 "framework-annotations-lib", 81 "framework-wifi", 82 "framework-bluetooth", 83 "framework-location", 84 "modules-utils-preconditions", 85 ], 86 installable: true, 87 // TODO(b/288271411): enable it when car mainline module is supported 88 // min_sdk_version: "33", 89 sdk_version: "module_current", 90} 91 92java_library { 93 name: "android.car", 94 defaults: [ 95 "android.car-defaults", 96 ], 97 static_libs: [ 98 "com.android.car.internal.dep", 99 ], 100} 101 102// TODO(b/248635421): these annotations are part of android.car, but 103// they're still need on ATS 104java_library_static { 105 name: "android.car.annotations.compile-only", 106 srcs: [ 107 "src/android/car/annotation/*", 108 "src/android/car/ApiVersion.java", 109 "src/android/car/CarVersion.java", 110 "src/android/car/PlatformVersion.java", 111 ], 112} 113 114stubs_defaults { 115 name: "android.car-docs-default", 116 srcs: [ 117 "src/**/*.java", 118 ], 119 libs: [ 120 "android.car", 121 ], 122} 123 124droidstubs { 125 name: "android.car-stubs-docs", 126 defaults: ["android.car-docs-default"], 127 args: "--hide UnavailableSymbol --hide HiddenSuperclass --stub-packages android.car* " + 128 "--hide-package com.android.internal --hide-package com.android.car.internal " + 129 "--error UnflaggedApi", 130 installable: false, 131 check_api: { 132 last_released: { 133 api_file: ":android.car.api.combined.public.latest", 134 removed_api_file: ":android.car-removed.api.combined.public.latest", 135 }, 136 current: { 137 api_file: "api/current.txt", 138 removed_api_file: "api/removed.txt", 139 }, 140 api_lint: { 141 enabled: true, 142 new_since: ":android.car.api.combined.public.latest", 143 baseline_file: "api/lint-baseline.txt", 144 }, 145 }, 146} 147 148droidstubs { 149 name: "android.car-system-stubs-docs", 150 defaults: ["android.car-docs-default"], 151 // TODO(b/174572385): Remove CallbackInterface once this b/174572385 is fixed 152 args: "--hide CallbackInterface --hide UnavailableSymbol --hide HiddenSuperclass " + 153 "--stub-packages android.car* " + 154 "--show-annotation android.annotation.SystemApi --hide-package com.android.internal " + 155 "--hide-package com.android.car.internal --error UnflaggedApi", 156 installable: false, 157 check_api: { 158 last_released: { 159 api_file: ":android.car.api.combined.system.latest", 160 removed_api_file: ":android.car-removed.api.combined.system.latest", 161 }, 162 current: { 163 api_file: "api/system-current.txt", 164 removed_api_file: "api/system-removed.txt", 165 }, 166 api_lint: { 167 enabled: true, 168 new_since: ":android.car.api.combined.system.latest", 169 baseline_file: "api/system-lint-baseline.txt", 170 }, 171 }, 172} 173 174droidstubs { 175 name: "android.car-test-stubs-docs", 176 defaults: ["android.car-docs-default"], 177 args: "--hide HiddenSuperclass --hide UnavailableSymbol --stub-packages android.car* " + 178 "--show-annotation android.annotation.TestApi " + 179 "--show-annotation android.annotation.SystemApi", 180 installable: false, 181 check_api: { 182 current: { 183 api_file: "api/test-current.txt", 184 removed_api_file: "api/test-removed.txt", 185 }, 186 }, 187} 188 189droidstubs { 190 name: "android.car-stub-docs", 191 srcs: [ 192 "src/**/*.java", 193 ], 194 libs: [ 195 "android.car", 196 ], 197 api_filename: "api.txt", 198 args: "--hide HiddenSuperclass --hide UnavailableSymbol --stub-packages android.car* ", 199 installable: false, 200} 201 202// Generates stubs for API documentation. 203droidstubs { 204 name: "car-doc-stubs", 205 srcs: [ 206 "src/**/*.java", 207 ], 208 create_doc_stubs: true, 209 annotations_enabled: true, 210 api_levels_annotations_enabled: true, 211 api_levels_jar_filename: "android.car.jar", 212 api_levels_annotations_dirs: [ 213 "sdk-dir", 214 "api-versions-jars-dir", 215 ], 216 previous_api: ":android.car.api.combined.public.latest", 217 merge_annotations_dirs: [ 218 "metalava-manual", 219 ], 220 arg_files: [ 221 "AndroidManifest.xml", 222 ], 223 // Add --verbose to print metalava details. 224 args: "--manifest $(location AndroidManifest.xml) " + 225 "--error UnhiddenSystemApi " + 226 "--hide RequiresPermission " + 227 "--hide CallbackInterface " + 228 "--hide MissingPermission " + 229 "--hide HiddenSuperclass --hide DeprecationMismatch --hide UnavailableSymbol " + 230 "--hide SdkConstant --hide HiddenTypeParameter " + 231 "--hide Todo ", 232 write_sdk_values: true, 233} 234 235// Generates API docs for go/devsite. 236// 237// How API docs are generated: 238// source files -> (droidstubs/metalava) -> stub source files -> (droiddoc/doclava) -> docs 239// 240// The metalava conversion is done by droidstub module "car-doc-stubs". 241// 242// TODO(b/162958231): Remove "ds-car-docs" from build/soong/java/legacy_core_platform_api_usage.go. 243droiddoc { 244 name: "ds-car-docs", 245 srcs: [ 246 ":car-doc-stubs", 247 ], 248 libs: [ 249 "stub-annotations", 250 "unsupportedappusage", 251 ], 252 custom_template: "droiddoc-templates-sdk", 253 // These variables that are used in doclava templates. 254 hdf: [ 255 "dac true", 256 "sdk.preview 0", // Not a preview version. 257 "sdk.version 31", 258 "android.whichdoc online", 259 "android.hasSamples false", 260 ], 261 arg_files: [ 262 "AndroidManifest.xml", 263 ], 264 proofread_file: "ds-sdk-docs-proofrerad.txt", 265 // See doclava docs in https://github.com/tinks/doclava. 266 // See error numbers in external/doclava/src/com/google/doclava/Errors.java. 267 // TODO(b/163831343): Add -werror -lerror to catch bad javadocs 268 args: "-android -manifest $(location AndroidManifest.xml) -toroot / -devsite -yamlV2 -metalavaApiSince " + 269 "-hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 " + 270 "-stubpackages android.car -dac_libraryroot android/car ", 271} 272 273java_defaults { 274 name: "android.car-stubs.jar_defaults", 275 java_version: "1.8", 276 installable: false, 277} 278 279java_defaults { 280 name: "android.car-stubs-dex.jar_defaults", 281 compile_dex: true, 282} 283 284java_library { 285 name: "android.car-stubs", 286 defaults: ["android.car-stubs.jar_defaults"], 287 srcs: [ 288 ":android.car-stub-docs", 289 ], 290 sdk_version: "current", 291 dist: { 292 targets: ["dist_files"], 293 }, 294} 295 296java_library { 297 name: "android.car-stubs-dex", 298 defaults: ["android.car-stubs-dex.jar_defaults"], 299 static_libs: ["android.car-stubs"], 300 sdk_version: "current", 301} 302 303java_library { 304 name: "android.car-system-stubs", 305 defaults: ["android.car-stubs.jar_defaults"], 306 srcs: [ 307 ":android.car-system-stubs-docs", 308 ], 309 sdk_version: "system_current", 310 dist: { 311 targets: ["dist_files"], 312 }, 313} 314 315java_library { 316 name: "android.car-system-stubs-dex", 317 defaults: ["android.car-stubs-dex.jar_defaults"], 318 static_libs: ["android.car-system-stubs"], 319 sdk_version: "system_current", 320} 321 322java_library { 323 name: "android.car-test-stubs", 324 defaults: ["android.car-stubs.jar_defaults"], 325 srcs: [ 326 ":android.car-test-stubs-docs", 327 ], 328 sdk_version: "test_current", 329} 330 331java_library { 332 name: "android.car-test-stubs-dex", 333 defaults: ["android.car-stubs-dex.jar_defaults"], 334 static_libs: ["android.car-test-stubs"], 335 sdk_version: "test_current", 336 dist: { 337 targets: ["dist_files"], 338 }, 339} 340 341// Export the api/system-current.txt file. 342filegroup { 343 name: "car-api-system-current.txt", 344 visibility: [ 345 "//cts/tests/signature/api", 346 ], 347 srcs: [ 348 "api/system-current.txt", 349 ], 350} 351 352// Export the api/system-removed.txt file. 353filegroup { 354 name: "car-api-system-removed.txt", 355 visibility: [ 356 "//cts/tests/signature/api", 357 ], 358 srcs: [ 359 "api/system-removed.txt", 360 ], 361} 362