• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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