xref: /aosp_15_r20/frameworks/base/api/ApiDocs.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Worker// Copyright (C) 2019 The Android Open Source Project
2*d57664e9SAndroid Build Coastguard Worker//
3*d57664e9SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d57664e9SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d57664e9SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d57664e9SAndroid Build Coastguard Worker//
7*d57664e9SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*d57664e9SAndroid Build Coastguard Worker//
9*d57664e9SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d57664e9SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d57664e9SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d57664e9SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d57664e9SAndroid Build Coastguard Worker// limitations under the License.
14*d57664e9SAndroid Build Coastguard Worker
15*d57664e9SAndroid Build Coastguard Worker// How API docs are generated:
16*d57664e9SAndroid Build Coastguard Worker//
17*d57664e9SAndroid Build Coastguard Worker// raw source files --(metalava)--> stub source files --(doclava)--> API doc
18*d57664e9SAndroid Build Coastguard Worker//
19*d57664e9SAndroid Build Coastguard Worker// The metalava conversion is done by droidstub modules framework-doc-*-stubs.
20*d57664e9SAndroid Build Coastguard Worker// The API doc generation is done by the various droiddoc modules each of which
21*d57664e9SAndroid Build Coastguard Worker// is for different format.
22*d57664e9SAndroid Build Coastguard Worker
23*d57664e9SAndroid Build Coastguard Worker// These defaults enable doc-stub generation, api lint database generation and sdk value generation.
24*d57664e9SAndroid Build Coastguard Workerstubs_defaults {
25*d57664e9SAndroid Build Coastguard Worker    name: "android-non-updatable-doc-stubs-defaults",
26*d57664e9SAndroid Build Coastguard Worker    defaults: ["android-non-updatable-stubs-defaults"],
27*d57664e9SAndroid Build Coastguard Worker    srcs: [
28*d57664e9SAndroid Build Coastguard Worker        // No longer part of the stubs, but are included in the docs.
29*d57664e9SAndroid Build Coastguard Worker        ":android-test-base-sources",
30*d57664e9SAndroid Build Coastguard Worker        ":android-test-mock-sources",
31*d57664e9SAndroid Build Coastguard Worker        ":android-test-runner-sources",
32*d57664e9SAndroid Build Coastguard Worker    ],
33*d57664e9SAndroid Build Coastguard Worker    flags: [
34*d57664e9SAndroid Build Coastguard Worker        // These errors are suppressed in the doc stubs as it isn't easy to suppress them.
35*d57664e9SAndroid Build Coastguard Worker        // They remain unsuppressed/active in the "main" stubs build (the jar stubs).
36*d57664e9SAndroid Build Coastguard Worker        // These can be removed when either a) all the issues have been fixed or
37*d57664e9SAndroid Build Coastguard Worker        // b) these reporting of these issues is gated behind api lint being enabled in metalava.
38*d57664e9SAndroid Build Coastguard Worker        "--hide BroadcastBehavior",
39*d57664e9SAndroid Build Coastguard Worker        "--hide DeprecationMismatch",
40*d57664e9SAndroid Build Coastguard Worker        "--hide MissingPermission",
41*d57664e9SAndroid Build Coastguard Worker        "--hide RequiresPermission",
42*d57664e9SAndroid Build Coastguard Worker        "--hide SdkConstant",
43*d57664e9SAndroid Build Coastguard Worker        "--hide Todo",
44*d57664e9SAndroid Build Coastguard Worker    ],
45*d57664e9SAndroid Build Coastguard Worker    create_doc_stubs: true,
46*d57664e9SAndroid Build Coastguard Worker    write_sdk_values: true,
47*d57664e9SAndroid Build Coastguard Worker}
48*d57664e9SAndroid Build Coastguard Worker
49*d57664e9SAndroid Build Coastguard Worker// Defaults module for doc-stubs targets that use module source code as input.
50*d57664e9SAndroid Build Coastguard Workerstubs_defaults {
51*d57664e9SAndroid Build Coastguard Worker    name: "framework-doc-stubs-sources-default",
52*d57664e9SAndroid Build Coastguard Worker    defaults: ["android-non-updatable-doc-stubs-defaults"],
53*d57664e9SAndroid Build Coastguard Worker    srcs: [
54*d57664e9SAndroid Build Coastguard Worker        ":art.module.public.api{.public.stubs.source}",
55*d57664e9SAndroid Build Coastguard Worker        ":conscrypt.module.public.api{.public.stubs.source}",
56*d57664e9SAndroid Build Coastguard Worker        ":i18n.module.public.api{.public.stubs.source}",
57*d57664e9SAndroid Build Coastguard Worker
58*d57664e9SAndroid Build Coastguard Worker        ":framework-adservices-sources",
59*d57664e9SAndroid Build Coastguard Worker        ":framework-appsearch-sources",
60*d57664e9SAndroid Build Coastguard Worker        ":framework-connectivity-sources",
61*d57664e9SAndroid Build Coastguard Worker        ":framework-bluetooth-sources",
62*d57664e9SAndroid Build Coastguard Worker        ":framework-connectivity-tiramisu-updatable-sources",
63*d57664e9SAndroid Build Coastguard Worker        ":framework-graphics-srcs",
64*d57664e9SAndroid Build Coastguard Worker        ":framework-healthfitness-sources",
65*d57664e9SAndroid Build Coastguard Worker        ":framework-mediaprovider-sources",
66*d57664e9SAndroid Build Coastguard Worker        ":framework-nearby-sources",
67*d57664e9SAndroid Build Coastguard Worker        ":framework-nfc-updatable-sources",
68*d57664e9SAndroid Build Coastguard Worker        ":framework-ondevicepersonalization-sources",
69*d57664e9SAndroid Build Coastguard Worker        ":framework-permission-sources",
70*d57664e9SAndroid Build Coastguard Worker        ":framework-permission-s-sources",
71*d57664e9SAndroid Build Coastguard Worker        ":framework-profiling-sources",
72*d57664e9SAndroid Build Coastguard Worker        ":framework-scheduling-sources",
73*d57664e9SAndroid Build Coastguard Worker        ":framework-sdkextensions-sources",
74*d57664e9SAndroid Build Coastguard Worker        ":framework-statsd-sources",
75*d57664e9SAndroid Build Coastguard Worker        ":framework-sdksandbox-sources",
76*d57664e9SAndroid Build Coastguard Worker        ":framework-tethering-srcs",
77*d57664e9SAndroid Build Coastguard Worker        ":framework-uwb-updatable-sources",
78*d57664e9SAndroid Build Coastguard Worker        ":framework-wifi-updatable-sources",
79*d57664e9SAndroid Build Coastguard Worker        ":ike-srcs",
80*d57664e9SAndroid Build Coastguard Worker        ":updatable-media-srcs",
81*d57664e9SAndroid Build Coastguard Worker    ],
82*d57664e9SAndroid Build Coastguard Worker}
83*d57664e9SAndroid Build Coastguard Worker
84*d57664e9SAndroid Build Coastguard Workerdroidstubs {
85*d57664e9SAndroid Build Coastguard Worker    name: "android-non-updatable-doc-stubs",
86*d57664e9SAndroid Build Coastguard Worker    defaults: [
87*d57664e9SAndroid Build Coastguard Worker        "android-non-updatable-doc-stubs-defaults",
88*d57664e9SAndroid Build Coastguard Worker        "module-classpath-stubs-defaults",
89*d57664e9SAndroid Build Coastguard Worker    ],
90*d57664e9SAndroid Build Coastguard Worker}
91*d57664e9SAndroid Build Coastguard Worker
92*d57664e9SAndroid Build Coastguard Workerdroidstubs {
93*d57664e9SAndroid Build Coastguard Worker    name: "android-non-updatable-doc-stubs-system",
94*d57664e9SAndroid Build Coastguard Worker    defaults: [
95*d57664e9SAndroid Build Coastguard Worker        "android-non-updatable-doc-stubs-defaults",
96*d57664e9SAndroid Build Coastguard Worker        "module-classpath-stubs-defaults",
97*d57664e9SAndroid Build Coastguard Worker    ],
98*d57664e9SAndroid Build Coastguard Worker    flags: ["--show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.PRIVILEGED_APPS\\)"],
99*d57664e9SAndroid Build Coastguard Worker}
100*d57664e9SAndroid Build Coastguard Worker
101*d57664e9SAndroid Build Coastguard Workerdroidstubs {
102*d57664e9SAndroid Build Coastguard Worker    name: "android-non-updatable-doc-stubs-module-lib",
103*d57664e9SAndroid Build Coastguard Worker    defaults: [
104*d57664e9SAndroid Build Coastguard Worker        "android-non-updatable-doc-stubs-defaults",
105*d57664e9SAndroid Build Coastguard Worker        "module-classpath-stubs-defaults",
106*d57664e9SAndroid Build Coastguard Worker    ],
107*d57664e9SAndroid Build Coastguard Worker    flags: [
108*d57664e9SAndroid Build Coastguard Worker        "--show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.PRIVILEGED_APPS\\)",
109*d57664e9SAndroid Build Coastguard Worker        "--show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES\\)",
110*d57664e9SAndroid Build Coastguard Worker    ],
111*d57664e9SAndroid Build Coastguard Worker    generate_stubs: false, // We're only using this module for the annotations.zip output, disable doc-stubs.
112*d57664e9SAndroid Build Coastguard Worker    write_sdk_values: false,
113*d57664e9SAndroid Build Coastguard Worker}
114*d57664e9SAndroid Build Coastguard Worker
115*d57664e9SAndroid Build Coastguard Workerdroidstubs {
116*d57664e9SAndroid Build Coastguard Worker    name: "android-non-updatable-doc-stubs-system-server",
117*d57664e9SAndroid Build Coastguard Worker    defaults: [
118*d57664e9SAndroid Build Coastguard Worker        "android-non-updatable-doc-stubs-defaults",
119*d57664e9SAndroid Build Coastguard Worker        "module-classpath-stubs-defaults",
120*d57664e9SAndroid Build Coastguard Worker    ],
121*d57664e9SAndroid Build Coastguard Worker    flags: [
122*d57664e9SAndroid Build Coastguard Worker        "--show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.PRIVILEGED_APPS\\)",
123*d57664e9SAndroid Build Coastguard Worker        "--show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES\\)",
124*d57664e9SAndroid Build Coastguard Worker        "--show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.SYSTEM_SERVER\\)",
125*d57664e9SAndroid Build Coastguard Worker    ],
126*d57664e9SAndroid Build Coastguard Worker    generate_stubs: false, // We're only using this module for the annotations.zip output, disable doc-stubs.
127*d57664e9SAndroid Build Coastguard Worker    write_sdk_values: false,
128*d57664e9SAndroid Build Coastguard Worker}
129*d57664e9SAndroid Build Coastguard Worker
130*d57664e9SAndroid Build Coastguard Workerdroidstubs {
131*d57664e9SAndroid Build Coastguard Worker    name: "framework-doc-stubs",
132*d57664e9SAndroid Build Coastguard Worker    defaults: ["android-non-updatable-doc-stubs-defaults"],
133*d57664e9SAndroid Build Coastguard Worker    srcs: [":all-modules-public-stubs-source-exportable"],
134*d57664e9SAndroid Build Coastguard Worker    api_levels_module: "api_versions_public",
135*d57664e9SAndroid Build Coastguard Worker    aidl: {
136*d57664e9SAndroid Build Coastguard Worker        include_dirs: [
137*d57664e9SAndroid Build Coastguard Worker            "packages/modules/Connectivity/framework/aidl-export",
138*d57664e9SAndroid Build Coastguard Worker            "packages/modules/Media/apex/aidl/stable",
139*d57664e9SAndroid Build Coastguard Worker        ],
140*d57664e9SAndroid Build Coastguard Worker    },
141*d57664e9SAndroid Build Coastguard Worker}
142*d57664e9SAndroid Build Coastguard Worker
143*d57664e9SAndroid Build Coastguard Workerdroidstubs {
144*d57664e9SAndroid Build Coastguard Worker    name: "framework-doc-system-stubs",
145*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-doc-stubs-sources-default"],
146*d57664e9SAndroid Build Coastguard Worker    flags: ["--show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.PRIVILEGED_APPS\\)"],
147*d57664e9SAndroid Build Coastguard Worker    api_levels_module: "api_versions_system",
148*d57664e9SAndroid Build Coastguard Worker}
149*d57664e9SAndroid Build Coastguard Worker
150*d57664e9SAndroid Build Coastguard Worker/////////////////////////////////////////////////////////////////////
151*d57664e9SAndroid Build Coastguard Worker// API docs are created from the generated stub source files
152*d57664e9SAndroid Build Coastguard Worker// using droiddoc
153*d57664e9SAndroid Build Coastguard Worker/////////////////////////////////////////////////////////////////////
154*d57664e9SAndroid Build Coastguard Worker
155*d57664e9SAndroid Build Coastguard Workerdoc_defaults {
156*d57664e9SAndroid Build Coastguard Worker    name: "framework-docs-default",
157*d57664e9SAndroid Build Coastguard Worker    sdk_version: "none",
158*d57664e9SAndroid Build Coastguard Worker    system_modules: "none",
159*d57664e9SAndroid Build Coastguard Worker    libs: [
160*d57664e9SAndroid Build Coastguard Worker        "stub-annotations",
161*d57664e9SAndroid Build Coastguard Worker        "unsupportedappusage",
162*d57664e9SAndroid Build Coastguard Worker    ],
163*d57664e9SAndroid Build Coastguard Worker    html_dirs: [
164*d57664e9SAndroid Build Coastguard Worker        "docs/html",
165*d57664e9SAndroid Build Coastguard Worker    ],
166*d57664e9SAndroid Build Coastguard Worker    knowntags: [
167*d57664e9SAndroid Build Coastguard Worker        "docs/knowntags.txt",
168*d57664e9SAndroid Build Coastguard Worker        ":art.module.public.api{.doctags}",
169*d57664e9SAndroid Build Coastguard Worker    ],
170*d57664e9SAndroid Build Coastguard Worker    custom_template: "droiddoc-templates-sdk",
171*d57664e9SAndroid Build Coastguard Worker    resourcesdir: "docs/html/reference/images/",
172*d57664e9SAndroid Build Coastguard Worker    resourcesoutdir: "reference/android/images/",
173*d57664e9SAndroid Build Coastguard Worker    lint_baseline: "javadoc-lint-baseline",
174*d57664e9SAndroid Build Coastguard Worker    flags: [
175*d57664e9SAndroid Build Coastguard Worker        "-android",
176*d57664e9SAndroid Build Coastguard Worker        "-manifest $(location :frameworks-base-core-AndroidManifest.xml)",
177*d57664e9SAndroid Build Coastguard Worker        "-metalavaApiSince",
178*d57664e9SAndroid Build Coastguard Worker        "-werror",
179*d57664e9SAndroid Build Coastguard Worker        "-lerror",
180*d57664e9SAndroid Build Coastguard Worker        "-overview $(location :frameworks-base-java-overview)",
181*d57664e9SAndroid Build Coastguard Worker        // Federate Support Library references against local API file.
182*d57664e9SAndroid Build Coastguard Worker        "-federate SupportLib https://developer.android.com",
183*d57664e9SAndroid Build Coastguard Worker        "-federationapi SupportLib $(location :current-support-api)",
184*d57664e9SAndroid Build Coastguard Worker        // Federate Support Library references against local API file.
185*d57664e9SAndroid Build Coastguard Worker        "-federate AndroidX https://developer.android.com",
186*d57664e9SAndroid Build Coastguard Worker        "-federationapi AndroidX $(location :current-androidx-api)",
187*d57664e9SAndroid Build Coastguard Worker        // doclava contains checks for a few issues that are have been migrated to metalava.
188*d57664e9SAndroid Build Coastguard Worker        // disable them in doclava, to avoid mistriggering or double triggering.
189*d57664e9SAndroid Build Coastguard Worker        "-hide 101", // TODO: turn Lint 101 back into an error again
190*d57664e9SAndroid Build Coastguard Worker        "-hide 111", // HIDDEN_SUPERCLASS
191*d57664e9SAndroid Build Coastguard Worker        "-hide 113", // DEPRECATION_MISMATCH
192*d57664e9SAndroid Build Coastguard Worker        "-hide 125", // REQUIRES_PERMISSION
193*d57664e9SAndroid Build Coastguard Worker        "-hide 126", // BROADCAST_BEHAVIOR
194*d57664e9SAndroid Build Coastguard Worker        "-hide 127", // SDK_CONSTANT
195*d57664e9SAndroid Build Coastguard Worker        "-hide 128", // TODO
196*d57664e9SAndroid Build Coastguard Worker    ],
197*d57664e9SAndroid Build Coastguard Worker    hdf: [
198*d57664e9SAndroid Build Coastguard Worker        "dac true",
199*d57664e9SAndroid Build Coastguard Worker        "sdk.codename O",
200*d57664e9SAndroid Build Coastguard Worker        "sdk.preview.version 1",
201*d57664e9SAndroid Build Coastguard Worker        "sdk.version 7.0",
202*d57664e9SAndroid Build Coastguard Worker        "sdk.rel.id 1",
203*d57664e9SAndroid Build Coastguard Worker        "sdk.preview 0",
204*d57664e9SAndroid Build Coastguard Worker    ],
205*d57664e9SAndroid Build Coastguard Worker    arg_files: [
206*d57664e9SAndroid Build Coastguard Worker        ":frameworks-base-core-AndroidManifest.xml",
207*d57664e9SAndroid Build Coastguard Worker        ":frameworks-base-java-overview",
208*d57664e9SAndroid Build Coastguard Worker        ":current-support-api",
209*d57664e9SAndroid Build Coastguard Worker        ":current-androidx-api",
210*d57664e9SAndroid Build Coastguard Worker    ],
211*d57664e9SAndroid Build Coastguard Worker    // TODO(b/169090544): remove below aidl includes.
212*d57664e9SAndroid Build Coastguard Worker    aidl: {
213*d57664e9SAndroid Build Coastguard Worker        include_dirs: [
214*d57664e9SAndroid Build Coastguard Worker            "frameworks/av/aidl",
215*d57664e9SAndroid Build Coastguard Worker            "frameworks/base/media/aidl",
216*d57664e9SAndroid Build Coastguard Worker            "frameworks/native/libs/permission/aidl",
217*d57664e9SAndroid Build Coastguard Worker        ],
218*d57664e9SAndroid Build Coastguard Worker    },
219*d57664e9SAndroid Build Coastguard Worker}
220*d57664e9SAndroid Build Coastguard Worker
221*d57664e9SAndroid Build Coastguard Workerdroiddoc {
222*d57664e9SAndroid Build Coastguard Worker    name: "offline-sdk-docs",
223*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-docs-default"],
224*d57664e9SAndroid Build Coastguard Worker    srcs: [
225*d57664e9SAndroid Build Coastguard Worker        ":framework-doc-stubs{.exportable}",
226*d57664e9SAndroid Build Coastguard Worker    ],
227*d57664e9SAndroid Build Coastguard Worker    hdf: [
228*d57664e9SAndroid Build Coastguard Worker        "android.whichdoc offline",
229*d57664e9SAndroid Build Coastguard Worker    ],
230*d57664e9SAndroid Build Coastguard Worker    compat_config: ":global-compat-config",
231*d57664e9SAndroid Build Coastguard Worker    proofread_file: "offline-sdk-docs-proofread.txt",
232*d57664e9SAndroid Build Coastguard Worker    flags: [
233*d57664e9SAndroid Build Coastguard Worker        "-offlinemode",
234*d57664e9SAndroid Build Coastguard Worker        "-title \"Android SDK\"",
235*d57664e9SAndroid Build Coastguard Worker    ],
236*d57664e9SAndroid Build Coastguard Worker    static_doc_index_redirect: "docs/docs-preview-index.html",
237*d57664e9SAndroid Build Coastguard Worker}
238*d57664e9SAndroid Build Coastguard Worker
239*d57664e9SAndroid Build Coastguard Workerdroiddoc {
240*d57664e9SAndroid Build Coastguard Worker    // Please sync with android-api-council@ before making any changes for the name property below.
241*d57664e9SAndroid Build Coastguard Worker    // Since there's cron jobs that fetch offline-sdk-referenceonly-docs-docs.zip periodically.
242*d57664e9SAndroid Build Coastguard Worker    // See b/116221385 for reference.
243*d57664e9SAndroid Build Coastguard Worker    name: "offline-sdk-referenceonly-docs",
244*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-docs-default"],
245*d57664e9SAndroid Build Coastguard Worker    srcs: [
246*d57664e9SAndroid Build Coastguard Worker        ":framework-doc-stubs{.exportable}",
247*d57664e9SAndroid Build Coastguard Worker    ],
248*d57664e9SAndroid Build Coastguard Worker    hdf: [
249*d57664e9SAndroid Build Coastguard Worker        "android.whichdoc offline",
250*d57664e9SAndroid Build Coastguard Worker    ],
251*d57664e9SAndroid Build Coastguard Worker    proofread_file: "offline-sdk-referenceonly-docs-proofread.txt",
252*d57664e9SAndroid Build Coastguard Worker    flags: [
253*d57664e9SAndroid Build Coastguard Worker        "-offlinemode",
254*d57664e9SAndroid Build Coastguard Worker        "-title \"Android SDK\"",
255*d57664e9SAndroid Build Coastguard Worker        "-referenceonly",
256*d57664e9SAndroid Build Coastguard Worker    ],
257*d57664e9SAndroid Build Coastguard Worker    static_doc_index_redirect: "docs/docs-documentation-redirect.html",
258*d57664e9SAndroid Build Coastguard Worker    static_doc_properties: "docs/source.properties",
259*d57664e9SAndroid Build Coastguard Worker}
260*d57664e9SAndroid Build Coastguard Worker
261*d57664e9SAndroid Build Coastguard Workerdroiddoc {
262*d57664e9SAndroid Build Coastguard Worker    // Please sync with android-api-council@ before making any changes for the name property below.
263*d57664e9SAndroid Build Coastguard Worker    // Since there's cron jobs that fetch offline-system-sdk-referenceonly-docs-docs.zip periodically.
264*d57664e9SAndroid Build Coastguard Worker    // See b/116221385 for reference.
265*d57664e9SAndroid Build Coastguard Worker    name: "offline-system-sdk-referenceonly-docs",
266*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-docs-default"],
267*d57664e9SAndroid Build Coastguard Worker    srcs: [
268*d57664e9SAndroid Build Coastguard Worker        ":framework-doc-system-stubs",
269*d57664e9SAndroid Build Coastguard Worker    ],
270*d57664e9SAndroid Build Coastguard Worker    hdf: [
271*d57664e9SAndroid Build Coastguard Worker        "android.whichdoc offline",
272*d57664e9SAndroid Build Coastguard Worker    ],
273*d57664e9SAndroid Build Coastguard Worker    proofread_file: "offline-system-sdk-referenceonly-docs-proofread.txt",
274*d57664e9SAndroid Build Coastguard Worker    flags: [
275*d57664e9SAndroid Build Coastguard Worker        "-hide 101",
276*d57664e9SAndroid Build Coastguard Worker        "-hide 104",
277*d57664e9SAndroid Build Coastguard Worker        "-hide 108",
278*d57664e9SAndroid Build Coastguard Worker        "-offlinemode",
279*d57664e9SAndroid Build Coastguard Worker        "-title \"Android System SDK\"",
280*d57664e9SAndroid Build Coastguard Worker        "-referenceonly",
281*d57664e9SAndroid Build Coastguard Worker    ],
282*d57664e9SAndroid Build Coastguard Worker    static_doc_index_redirect: "docs/docs-documentation-redirect.html",
283*d57664e9SAndroid Build Coastguard Worker    static_doc_properties: "docs/source.properties",
284*d57664e9SAndroid Build Coastguard Worker}
285*d57664e9SAndroid Build Coastguard Worker
286*d57664e9SAndroid Build Coastguard Workerdroiddoc {
287*d57664e9SAndroid Build Coastguard Worker    name: "ds-docs-java",
288*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-docs-default"],
289*d57664e9SAndroid Build Coastguard Worker    srcs: [
290*d57664e9SAndroid Build Coastguard Worker        ":framework-doc-stubs{.exportable}",
291*d57664e9SAndroid Build Coastguard Worker    ],
292*d57664e9SAndroid Build Coastguard Worker    hdf: [
293*d57664e9SAndroid Build Coastguard Worker        "android.whichdoc online",
294*d57664e9SAndroid Build Coastguard Worker        "android.hasSamples true",
295*d57664e9SAndroid Build Coastguard Worker    ],
296*d57664e9SAndroid Build Coastguard Worker    proofread_file: "ds-docs-proofread.txt",
297*d57664e9SAndroid Build Coastguard Worker    flags: [
298*d57664e9SAndroid Build Coastguard Worker        " -toroot /",
299*d57664e9SAndroid Build Coastguard Worker        "-yamlV2",
300*d57664e9SAndroid Build Coastguard Worker        "-samplegroup Admin",
301*d57664e9SAndroid Build Coastguard Worker        "-samplegroup Background",
302*d57664e9SAndroid Build Coastguard Worker        "-samplegroup Connectivity",
303*d57664e9SAndroid Build Coastguard Worker        "-samplegroup Content",
304*d57664e9SAndroid Build Coastguard Worker        "-samplegroup Input",
305*d57664e9SAndroid Build Coastguard Worker        "-samplegroup Media",
306*d57664e9SAndroid Build Coastguard Worker        "-samplegroup Notification",
307*d57664e9SAndroid Build Coastguard Worker        "-samplegroup RenderScript",
308*d57664e9SAndroid Build Coastguard Worker        "-samplegroup Security",
309*d57664e9SAndroid Build Coastguard Worker        "-samplegroup Sensors",
310*d57664e9SAndroid Build Coastguard Worker        "-samplegroup System",
311*d57664e9SAndroid Build Coastguard Worker        "-samplegroup Testing",
312*d57664e9SAndroid Build Coastguard Worker        "-samplegroup UI",
313*d57664e9SAndroid Build Coastguard Worker        "-samplegroup Views",
314*d57664e9SAndroid Build Coastguard Worker        "-samplegroup Wearable",
315*d57664e9SAndroid Build Coastguard Worker        "-devsite",
316*d57664e9SAndroid Build Coastguard Worker        "-samplesdir",
317*d57664e9SAndroid Build Coastguard Worker        "development/samples/browseable",
318*d57664e9SAndroid Build Coastguard Worker    ],
319*d57664e9SAndroid Build Coastguard Worker}
320*d57664e9SAndroid Build Coastguard Worker
321*d57664e9SAndroid Build Coastguard Workerdroiddoc {
322*d57664e9SAndroid Build Coastguard Worker    name: "ds-docs-kt",
323*d57664e9SAndroid Build Coastguard Worker    srcs: [
324*d57664e9SAndroid Build Coastguard Worker        ":framework-doc-stubs{.exportable}",
325*d57664e9SAndroid Build Coastguard Worker    ],
326*d57664e9SAndroid Build Coastguard Worker    flags: [
327*d57664e9SAndroid Build Coastguard Worker        "-noJdkLink",
328*d57664e9SAndroid Build Coastguard Worker        "-links https://kotlinlang.org/api/latest/jvm/stdlib/^external/dokka/package-list",
329*d57664e9SAndroid Build Coastguard Worker        "-noStdlibLink",
330*d57664e9SAndroid Build Coastguard Worker    ],
331*d57664e9SAndroid Build Coastguard Worker    proofread_file: "ds-dokka-proofread.txt",
332*d57664e9SAndroid Build Coastguard Worker    dokka_enabled: true,
333*d57664e9SAndroid Build Coastguard Worker}
334*d57664e9SAndroid Build Coastguard Worker
335*d57664e9SAndroid Build Coastguard Workerjava_genrule {
336*d57664e9SAndroid Build Coastguard Worker    name: "ds-docs",
337*d57664e9SAndroid Build Coastguard Worker    tools: [
338*d57664e9SAndroid Build Coastguard Worker        "zip2zip",
339*d57664e9SAndroid Build Coastguard Worker        "merge_zips",
340*d57664e9SAndroid Build Coastguard Worker    ],
341*d57664e9SAndroid Build Coastguard Worker    srcs: [
342*d57664e9SAndroid Build Coastguard Worker        ":ds-docs-java{.docs.zip}",
343*d57664e9SAndroid Build Coastguard Worker        ":ds-docs-kt{.docs.zip}",
344*d57664e9SAndroid Build Coastguard Worker    ],
345*d57664e9SAndroid Build Coastguard Worker    out: ["ds-docs.zip"],
346*d57664e9SAndroid Build Coastguard Worker    dist: {
347*d57664e9SAndroid Build Coastguard Worker        targets: ["docs"],
348*d57664e9SAndroid Build Coastguard Worker    },
349*d57664e9SAndroid Build Coastguard Worker    cmd: "$(location zip2zip) -i $(location :ds-docs-kt{.docs.zip}) -o $(genDir)/ds-docs-kt-moved.zip **/*:en/reference/kotlin && " +
350*d57664e9SAndroid Build Coastguard Worker        "$(location merge_zips) $(out) $(location :ds-docs-java{.docs.zip}) $(genDir)/ds-docs-kt-moved.zip",
351*d57664e9SAndroid Build Coastguard Worker}
352*d57664e9SAndroid Build Coastguard Worker
353*d57664e9SAndroid Build Coastguard Workerjava_genrule {
354*d57664e9SAndroid Build Coastguard Worker    name: "ds-docs-switched",
355*d57664e9SAndroid Build Coastguard Worker    tools: [
356*d57664e9SAndroid Build Coastguard Worker        "switcher4",
357*d57664e9SAndroid Build Coastguard Worker        "soong_zip",
358*d57664e9SAndroid Build Coastguard Worker    ],
359*d57664e9SAndroid Build Coastguard Worker    srcs: [
360*d57664e9SAndroid Build Coastguard Worker        ":ds-docs-java{.docs.zip}",
361*d57664e9SAndroid Build Coastguard Worker        ":ds-docs-kt{.docs.zip}",
362*d57664e9SAndroid Build Coastguard Worker    ],
363*d57664e9SAndroid Build Coastguard Worker    out: ["ds-docs-switched.zip"],
364*d57664e9SAndroid Build Coastguard Worker    dist: {
365*d57664e9SAndroid Build Coastguard Worker        targets: ["docs"],
366*d57664e9SAndroid Build Coastguard Worker    },
367*d57664e9SAndroid Build Coastguard Worker    cmd: "unzip -q $(location :ds-docs-java{.docs.zip}) -d $(genDir) && " +
368*d57664e9SAndroid Build Coastguard Worker        "unzip -q $(location :ds-docs-kt{.docs.zip}) -d $(genDir)/en/reference/kotlin && " +
369*d57664e9SAndroid Build Coastguard Worker        "SWITCHER=$$(cd $$(dirname $(location switcher4)) && pwd)/$$(basename $(location switcher4)) && " +
370*d57664e9SAndroid Build Coastguard Worker        "(cd $(genDir)/en/reference && $$SWITCHER --work platform) > /dev/null && " +
371*d57664e9SAndroid Build Coastguard Worker        "$(location soong_zip) -o $(out) -C $(genDir) -D $(genDir)",
372*d57664e9SAndroid Build Coastguard Worker}
373*d57664e9SAndroid Build Coastguard Worker
374*d57664e9SAndroid Build Coastguard Workerdroiddoc {
375*d57664e9SAndroid Build Coastguard Worker    name: "ds-static-docs",
376*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-docs-default"],
377*d57664e9SAndroid Build Coastguard Worker    srcs: [
378*d57664e9SAndroid Build Coastguard Worker        ":framework-doc-stubs{.exportable}",
379*d57664e9SAndroid Build Coastguard Worker    ],
380*d57664e9SAndroid Build Coastguard Worker    hdf: [
381*d57664e9SAndroid Build Coastguard Worker        "android.whichdoc online",
382*d57664e9SAndroid Build Coastguard Worker    ],
383*d57664e9SAndroid Build Coastguard Worker    flags: [
384*d57664e9SAndroid Build Coastguard Worker        "-staticonly",
385*d57664e9SAndroid Build Coastguard Worker        "-toroot /",
386*d57664e9SAndroid Build Coastguard Worker        "-devsite",
387*d57664e9SAndroid Build Coastguard Worker        "-ignoreJdLinks",
388*d57664e9SAndroid Build Coastguard Worker    ],
389*d57664e9SAndroid Build Coastguard Worker}
390*d57664e9SAndroid Build Coastguard Worker
391*d57664e9SAndroid Build Coastguard Workerdroiddoc {
392*d57664e9SAndroid Build Coastguard Worker    name: "ds-ref-navtree-docs",
393*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-docs-default"],
394*d57664e9SAndroid Build Coastguard Worker    srcs: [
395*d57664e9SAndroid Build Coastguard Worker        ":framework-doc-stubs{.exportable}",
396*d57664e9SAndroid Build Coastguard Worker    ],
397*d57664e9SAndroid Build Coastguard Worker    hdf: [
398*d57664e9SAndroid Build Coastguard Worker        "android.whichdoc online",
399*d57664e9SAndroid Build Coastguard Worker    ],
400*d57664e9SAndroid Build Coastguard Worker    flags: [
401*d57664e9SAndroid Build Coastguard Worker        "-toroot /",
402*d57664e9SAndroid Build Coastguard Worker        "-atLinksNavtree",
403*d57664e9SAndroid Build Coastguard Worker        "-navtreeonly",
404*d57664e9SAndroid Build Coastguard Worker    ],
405*d57664e9SAndroid Build Coastguard Worker}
406