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.stubs.module_lib", 80 "framework-annotations-lib", 81 "framework-wifi.stubs.module_lib", 82 "framework-bluetooth.stubs.module_lib", 83 "framework-location.stubs.module_lib", 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 dist: { 91 targets: ["dist_files"], 92 }, 93} 94 95java_library { 96 name: "android.car", 97 defaults: [ 98 "android.car-defaults", 99 ], 100 static_libs: [ 101 "com.android.car.internal.dep", 102 ], 103 lint: { 104 baseline_filename: "lint-baseline.xml", 105 }, 106} 107 108// TODO(b/248635421): these annotations are part of android.car, but 109// they're still need on ATS 110java_library_static { 111 name: "android.car.annotations.compile-only", 112 srcs: [ 113 "src/android/car/annotation/*", 114 "src/android/car/ApiVersion.java", 115 "src/android/car/CarVersion.java", 116 "src/android/car/PlatformVersion.java", 117 ], 118} 119 120stubs_defaults { 121 name: "android.car-docs-default", 122 srcs: [ 123 "src/**/*.java", 124 ], 125 libs: [ 126 "android.car", 127 ], 128} 129 130droidstubs { 131 name: "android.car-stubs-docs", 132 defaults: ["android.car-docs-default"], 133 flags: [ 134 "--hide UnavailableSymbol", 135 "--hide HiddenSuperclass", 136 "--stub-packages android.car*", 137 "--error UnflaggedApi", 138 ], 139 installable: false, 140 check_api: { 141 last_released: { 142 api_file: ":android.car.api.combined.public.latest", 143 removed_api_file: ":android.car-removed.api.combined.public.latest", 144 }, 145 current: { 146 api_file: "api/current.txt", 147 removed_api_file: "api/removed.txt", 148 }, 149 api_lint: { 150 enabled: true, 151 new_since: ":android.car.api.combined.public.latest", 152 baseline_file: "api/lint-baseline.txt", 153 }, 154 }, 155} 156 157droidstubs { 158 name: "android.car-system-stubs-docs", 159 defaults: ["android.car-docs-default"], 160 // TODO(b/174572385): Remove CallbackInterface once this b/174572385 is fixed 161 flags: [ 162 "--hide CallbackInterface", 163 "--hide UnavailableSymbol", 164 "--hide HiddenSuperclass", 165 "--stub-packages android.car*", 166 "--show-annotation android.annotation.SystemApi", 167 "--error UnflaggedApi", 168 ], 169 installable: false, 170 check_api: { 171 last_released: { 172 api_file: ":android.car.api.combined.system.latest", 173 removed_api_file: ":android.car-removed.api.combined.system.latest", 174 }, 175 current: { 176 api_file: "api/system-current.txt", 177 removed_api_file: "api/system-removed.txt", 178 }, 179 api_lint: { 180 enabled: true, 181 new_since: ":android.car.api.combined.system.latest", 182 baseline_file: "api/system-lint-baseline.txt", 183 }, 184 }, 185} 186 187droidstubs { 188 name: "android.car-test-stubs-docs", 189 defaults: ["android.car-docs-default"], 190 flags: [ 191 "--hide HiddenSuperclass", 192 "--hide UnavailableSymbol", 193 "--stub-packages android.car*", 194 "--show-annotation android.annotation.TestApi", 195 "--show-annotation android.annotation.SystemApi", 196 ], 197 installable: false, 198 check_api: { 199 current: { 200 api_file: "api/test-current.txt", 201 removed_api_file: "api/test-removed.txt", 202 }, 203 }, 204} 205 206droidstubs { 207 name: "android.car-stub-docs", 208 srcs: [ 209 "src/**/*.java", 210 ], 211 libs: [ 212 "android.car", 213 ], 214 api_filename: "api.txt", 215 flags: [ 216 "--hide HiddenSuperclass", 217 "--hide UnavailableSymbol", 218 "--stub-packages android.car*", 219 ], 220 installable: false, 221} 222 223// Generates stubs for API documentation. 224droidstubs { 225 name: "car-doc-stubs", 226 srcs: [ 227 "src/**/*.java", 228 ], 229 create_doc_stubs: true, 230 annotations_enabled: true, 231 previous_api: ":android.car.api.combined.public.latest", 232 merge_annotations_dirs: [ 233 "metalava-manual", 234 ], 235 arg_files: [ 236 "AndroidManifest.xml", 237 ], 238 // Add --verbose to print metalava details. 239 flags: [ 240 "--manifest $(location AndroidManifest.xml)", 241 "--error UnhiddenSystemApi", 242 "--hide RequiresPermission", 243 "--hide CallbackInterface", 244 "--hide MissingPermission", 245 "--hide HiddenSuperclass", 246 "--hide DeprecationMismatch", 247 "--hide UnavailableSymbol ", 248 "--hide SdkConstant", 249 "--hide HiddenTypeParameter", 250 "--hide Todo ", 251 ], 252 write_sdk_values: true, 253} 254 255// Generates API docs for go/devsite. 256// 257// How API docs are generated: 258// source files -> (droidstubs/metalava) -> stub source files -> (droiddoc/doclava) -> docs 259// 260// The metalava conversion is done by droidstub module "car-doc-stubs". 261// 262// TODO(b/162958231): Remove "ds-car-docs" from build/soong/java/legacy_core_platform_api_usage.go. 263droiddoc { 264 name: "ds-car-docs", 265 srcs: [ 266 ":car-doc-stubs", 267 ], 268 libs: [ 269 "stub-annotations", 270 "unsupportedappusage", 271 ], 272 custom_template: "droiddoc-templates-sdk", 273 // These variables that are used in doclava templates. 274 hdf: [ 275 "dac true", 276 "sdk.preview 0", // Not a preview version. 277 "sdk.version 31", 278 "android.whichdoc online", 279 "android.hasSamples false", 280 ], 281 arg_files: [ 282 "AndroidManifest.xml", 283 ], 284 proofread_file: "ds-sdk-docs-proofrerad.txt", 285 // See doclava docs in https://github.com/tinks/doclava. 286 // See error numbers in external/doclava/src/com/google/doclava/Errors.java. 287 // TODO(b/163831343): Add -werror -lerror to catch bad javadocs 288 flags: [ 289 "-android -manifest $(location AndroidManifest.xml) -toroot / -devsite -yamlV2 " + 290 "-metalavaApiSince -hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 " + 291 "-stubpackages android.car -dac_libraryroot android/car ", 292 ], 293} 294 295java_defaults { 296 name: "android.car-stubs.jar_defaults", 297 java_version: "1.8", 298 installable: false, 299} 300 301java_defaults { 302 name: "android.car-stubs-dex.jar_defaults", 303 compile_dex: true, 304} 305 306java_library { 307 name: "android.car-stubs", 308 defaults: ["android.car-stubs.jar_defaults"], 309 srcs: [ 310 ":android.car-stub-docs", 311 ], 312 sdk_version: "current", 313 dist: { 314 targets: ["dist_files"], 315 }, 316 is_stubs_module: true, 317} 318 319java_library { 320 name: "android.car-stubs-dex", 321 defaults: ["android.car-stubs-dex.jar_defaults"], 322 static_libs: ["android.car-stubs"], 323 sdk_version: "current", 324} 325 326java_library { 327 name: "android.car-system-stubs", 328 defaults: ["android.car-stubs.jar_defaults"], 329 srcs: [ 330 ":android.car-system-stubs-docs", 331 ], 332 sdk_version: "system_current", 333 dist: { 334 targets: ["dist_files"], 335 }, 336} 337 338java_library { 339 name: "android.car-system-stubs-dex", 340 defaults: ["android.car-stubs-dex.jar_defaults"], 341 static_libs: ["android.car-system-stubs"], 342 sdk_version: "system_current", 343} 344 345java_library { 346 name: "android.car-test-stubs", 347 defaults: ["android.car-stubs.jar_defaults"], 348 srcs: [ 349 ":android.car-test-stubs-docs", 350 ], 351 sdk_version: "test_current", 352} 353 354java_library { 355 name: "android.car-test-stubs-dex", 356 defaults: ["android.car-stubs-dex.jar_defaults"], 357 static_libs: ["android.car-test-stubs"], 358 sdk_version: "test_current", 359 dist: { 360 targets: ["dist_files"], 361 }, 362} 363 364// Export the api/system-current.txt file. 365filegroup { 366 name: "car-api-system-current.txt", 367 visibility: [ 368 "//cts/tests/signature/api", 369 ], 370 srcs: [ 371 "api/system-current.txt", 372 ], 373} 374 375// Export the api/system-removed.txt file. 376filegroup { 377 name: "car-api-system-removed.txt", 378 visibility: [ 379 "//cts/tests/signature/api", 380 ], 381 srcs: [ 382 "api/system-removed.txt", 383 ], 384} 385 386genrule_defaults { 387 name: "car_signature_to_jdiff_defaults", 388 tools: ["metalava"], 389 cmd: "$(location metalava) signature-to-jdiff --strip $(in) $(out)", 390 dist: { 391 targets: ["dist_files"], 392 }, 393} 394 395genrule { 396 name: "android.car-test-stubs-jdiff", 397 defaults: ["car_signature_to_jdiff_defaults"], 398 srcs: ["api/test-current.txt"], 399 out: ["car-test-api.xml"], 400} 401 402genrule { 403 name: "android.car-system-stubs-jdiff", 404 defaults: ["car_signature_to_jdiff_defaults"], 405 srcs: ["api/system-current.txt"], 406 out: ["car-system-api.xml"], 407} 408 409genrule { 410 name: "android.car-stubs-jdiff", 411 defaults: ["car_signature_to_jdiff_defaults"], 412 srcs: ["api/current.txt"], 413 out: ["car-api.xml"], 414} 415