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 15filegroup { 16 name: "libcarpowermanager_aidl", 17 srcs: [ 18 "src/android/car/ICar.aidl", 19 "src/android/car/hardware/power/ICarPower.aidl", 20 "src/android/car/hardware/power/ICarPowerStateListener.aidl", 21 ], 22 path: "src", 23} 24 25cc_library { 26 name: "libcarpowermanager", 27 vendor_available: true, 28 29 aidl: { 30 export_aidl_headers: true, 31 local_include_dirs: [ 32 "src", 33 ], 34 }, 35 36 cflags: [ 37 "-Wall", 38 "-Werror", 39 "-Wextra", 40 "-Wno-unused-parameter", 41 ], 42 43 include_dirs: [ 44 "packages/services/Car/car-lib/native/include", 45 ], 46 47 shared_libs: [ 48 "libbinder", 49 "liblog", 50 "libutils", 51 ], 52 53 srcs: [ 54 ":libcarpowermanager_aidl", 55 "native/CarPowerManager/CarPowerManager.cpp", 56 ], 57} 58 59java_library { 60 name: "android.car.cluster.navigation", 61 proto: { 62 type: "lite", 63 }, 64 static_libs: ["libprotobuf-java-lite"], 65 srcs: ["src/android/car/navigation/navigation_state.proto"] 66} 67 68// library to access settings from CarSettings 69java_library { 70 name: "android.car.settings", 71 srcs: ["src/android/car/settings/CarSettings.java"] 72} 73 74java_library { 75 name: "android.car", 76 srcs: [ 77 "src/**/*.java", 78 "src/**/I*.aidl", 79 ], 80 aidl: { 81 include_dirs: [ 82 "system/bt/binder", 83 ], 84 }, 85 exclude_srcs: [ 86 "src/android/car/storagemonitoring/IoStats.aidl", 87 "src/android/car/storagemonitoring/IoStatsEntry.aidl", 88 ], 89 static_libs: [ 90 "android.car.internal.event-log-tags", 91 ], 92 product_variables: { 93 pdk: { 94 enabled: false, 95 }, 96 }, 97 installable: true, 98} 99 100stubs_defaults { 101 name: "android.car-docs-default", 102 srcs: [ 103 "src/**/*.java", 104 ], 105 libs: [ 106 "android.car", 107 ], 108 product_variables: { 109 pdk: { 110 enabled: false, 111 }, 112 }, 113} 114 115genrule { 116 name: "android-car-last-released-api", 117 srcs: [ 118 "api/released/*.txt", 119 ], 120 cmd: "cp -f $$(echo $(in) | tr \" \" \"\\n\" | sort -n | tail -1) $(genDir)/last-released-api.txt", 121 out: [ 122 "last-released-api.txt", 123 ], 124} 125 126genrule { 127 name: "android-car-last-released-system-api", 128 srcs: [ 129 "api/system-released/*.txt", 130 ], 131 cmd: "cp -f $$(echo $(in) | tr \" \" \"\\n\" | sort -n | tail -1) $(genDir)/last-released-system-api.txt", 132 out: [ 133 "last-released-system-api.txt", 134 ], 135} 136 137droidstubs { 138 name: "android.car-stubs-docs", 139 defaults: ["android.car-docs-default"], 140 removed_dex_api_filename: "removed-dex.txt", 141 args: "--hide UnavailableSymbol --no-docs --stub-packages android.car* ", 142 installable: false, 143 check_api: { 144 last_released: { 145 api_file: ":android-car-last-released-api", 146 removed_api_file: "api/removed.txt", 147 args: " -hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 " + 148 " -warning 7 -warning 8 -warning 9 -warning 10 -warning 11 -warning 12 " + 149 " -warning 13 -warning 14 -warning 15 -warning 16 -warning 17 -warning 18 -hide 113 ", 150 }, 151 current: { 152 api_file: "api/current.txt", 153 removed_api_file: "api/removed.txt", 154 args: " -error 2 -error 3 -error 4 -error 5 -error 6 -error 7 -error 8 -error 9 -error 10 -error 11 " + 155 " -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 -error 19 -error 20 " + 156 " -error 21 -error 23 -error 24 -error 25 -hide 113 ", 157 }, 158 api_lint: { 159 enabled: true, 160 baseline_file: "api/lint-baseline.txt", 161 } 162 }, 163} 164 165droidstubs { 166 name: "android.car-system-stubs-docs", 167 defaults: ["android.car-docs-default"], 168 removed_dex_api_filename: "system-removed-dex.txt", 169 args: "--hide UnavailableSymbol --no-docs --stub-packages android.car* " + 170 "--show-annotation android.annotation.SystemApi ", 171 installable: false, 172 check_api: { 173 last_released: { 174 api_file: ":android-car-last-released-system-api", 175 removed_api_file: "api/system-removed.txt", 176 args: " -hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 " + 177 " -warning 7 -warning 8 -warning 9 -warning 10 -warning 11 -warning 12 " + 178 " -warning 13 -warning 14 -warning 15 -warning 16 -warning 17 -warning 18 -hide 113 ", 179 }, 180 current: { 181 api_file: "api/system-current.txt", 182 removed_api_file: "api/system-removed.txt", 183 args: " -error 2 -error 3 -error 4 -error 5 -error 6 -error 7 -error 8 -error 9 -error 10 -error 11 " + 184 " -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 -error 19 -error 20 " + 185 " -error 21 -error 23 -error 24 -error 25 -hide 113 ", 186 }, 187 api_lint: { 188 enabled: true, 189 baseline_file: "api/system-lint-baseline.txt", 190 } 191 }, 192} 193 194droidstubs { 195 name: "android.car-test-stubs-docs", 196 defaults: ["android.car-docs-default"], 197 args: "--hide HiddenSuperclass --hide UnavailableSymbol --no-docs --stub-packages android.car* " + 198 "--show-annotation android.annotation.TestApi ", 199 installable: false, 200 check_api: { 201 current: { 202 api_file: "api/test-current.txt", 203 removed_api_file: "api/test-removed.txt", 204 args: " -error 2 -error 3 -error 4 -error 5 -error 6 -error 7 -error 8 -error 9 -error 10 -error 11 " + 205 " -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 -error 19 -error 20 " + 206 " -error 21 -error 23 -error 24 -error 25 -hide 113 ", 207 }, 208 }, 209} 210 211droidstubs { 212 name: "android.car-stub-docs", 213 srcs: [ 214 "src/**/*.java", 215 ], 216 libs: [ 217 "android.car", 218 ], 219 api_filename: "api.txt", 220 args: "--hide HiddenSuperclass --hide UnavailableSymbol --no-docs --stub-packages android.car* ", 221 installable: false, 222 product_variables: { 223 pdk: { 224 enabled: false, 225 }, 226 }, 227} 228 229// Generates stubs for API documentation. 230droidstubs { 231 name: "car-doc-stubs", 232 srcs: [ 233 "src/**/*.java" 234 ], 235 create_doc_stubs: true, 236 annotations_enabled: true, 237 api_levels_annotations_enabled: true, 238 api_levels_jar_filename: "android.car.jar", 239 api_levels_annotations_dirs: [ 240 "sdk-dir", 241 "api-versions-jars-dir", 242 ], 243 previous_api: ":android-car-last-released-api", 244 merge_annotations_dirs: [ 245 "metalava-manual", 246 ], 247 arg_files: [ 248 "AndroidManifest.xml", 249 ], 250 // Add --verbose to print metalava details. 251 args: "--manifest $(location AndroidManifest.xml) " + 252 "--error UnhiddenSystemApi " + 253 "--hide RequiresPermission " + 254 "--hide CallbackInterface " + 255 "--hide MissingPermission " + 256 "--hide HiddenSuperclass --hide DeprecationMismatch --hide UnavailableSymbol " + 257 "--hide SdkConstant --hide HiddenTypeParameter --hide Todo --hide Typo " + 258 "--hide Todo --hide Typo ", 259 write_sdk_values: true, 260} 261 262// Generates API docs for go/devsite. 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 30", 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: Add -werror -lerror to catch bad javadocs 288 args: "-android -manifest $(location AndroidManifest.xml) -toroot / -devsite -yamlV2 -metalavaApiSince " + 289 "-hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 " + 290 "-stubpackages android.car -dac_libraryroot android/car ", 291} 292 293java_library { 294 name: "android.car-stubs", 295 srcs: [ 296 ":android.car-stub-docs", 297 ], 298 sdk_version: "current", 299 product_variables: { 300 pdk: { 301 enabled: false, 302 }, 303 }, 304 installable: false, 305 dist: { 306 targets: ["dist_files"], 307 } 308} 309 310java_library { 311 name: "android.car-stubs-dex", 312 static_libs: ["android.car-stubs"], 313 sdk_version: "current", 314 product_variables: { 315 pdk: { 316 enabled: false, 317 }, 318 }, 319 compile_dex: true, 320} 321 322java_library { 323 name: "android.car-system-stubs", 324 srcs: [ 325 ":android.car-system-stubs-docs", 326 ], 327 sdk_version: "system_current", 328 product_variables: { 329 pdk: { 330 enabled: false, 331 }, 332 }, 333 installable: false, 334 dist: { 335 targets: ["dist_files"], 336 } 337} 338 339java_library { 340 name: "android.car-system-stubs-dex", 341 static_libs: ["android.car-system-stubs"], 342 sdk_version: "system_current", 343 product_variables: { 344 pdk: { 345 enabled: false, 346 }, 347 }, 348 compile_dex: true, 349} 350 351java_library { 352 name: "android.car-test-stubs", 353 srcs: [ 354 ":android.car-test-stubs-docs", 355 ], 356 sdk_version: "test_current", 357 product_variables: { 358 pdk: { 359 enabled: false, 360 }, 361 }, 362 installable: false, 363} 364 365java_library { 366 name: "android.car-test-stubs-dex", 367 static_libs: ["android.car-test-stubs"], 368 sdk_version: "test_current", 369 product_variables: { 370 pdk: { 371 enabled: false, 372 }, 373 }, 374 compile_dex: true, 375 dist: { 376 targets: ["dist_files"], 377 } 378} 379 380// Export the api/system-current.txt file. 381filegroup { 382 name: "car-api-system-current.txt", 383 visibility: [ 384 "//cts/tests/signature/api", 385 ], 386 srcs: [ 387 "api/system-current.txt", 388 ], 389} 390 391// Export the api/system-removed.txt file. 392filegroup { 393 name: "car-api-system-removed.txt", 394 visibility: [ 395 "//cts/tests/signature/api", 396 ], 397 srcs: [ 398 "api/system-removed.txt", 399 ], 400} 401