xref: /aosp_15_r20/external/doclava/doclet_adapter/build.gradle.kts (revision feeed43c7c55e85932c547a3cefc559df175227c)
1*feeed43cSAndroid Build Coastguard Worker /*
2*feeed43cSAndroid Build Coastguard Worker  * Copyright (C) 2022 The Android Open Source Project
3*feeed43cSAndroid Build Coastguard Worker  *
4*feeed43cSAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
5*feeed43cSAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
6*feeed43cSAndroid Build Coastguard Worker  * You may obtain a copy of the License at
7*feeed43cSAndroid Build Coastguard Worker  *
8*feeed43cSAndroid Build Coastguard Worker  *      http://www.apache.org/licenses/LICENSE-2.0
9*feeed43cSAndroid Build Coastguard Worker  *
10*feeed43cSAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
11*feeed43cSAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
12*feeed43cSAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*feeed43cSAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
14*feeed43cSAndroid Build Coastguard Worker  * limitations under the License.
15*feeed43cSAndroid Build Coastguard Worker  */
16*feeed43cSAndroid Build Coastguard Worker 
<lambda>null17*feeed43cSAndroid Build Coastguard Worker plugins {
18*feeed43cSAndroid Build Coastguard Worker     id("com.google.doclava.java-application-conventions")
19*feeed43cSAndroid Build Coastguard Worker }
20*feeed43cSAndroid Build Coastguard Worker 
<lambda>null21*feeed43cSAndroid Build Coastguard Worker java {
22*feeed43cSAndroid Build Coastguard Worker     toolchain {
23*feeed43cSAndroid Build Coastguard Worker         languageVersion.set(JavaLanguageVersion.of(17))
24*feeed43cSAndroid Build Coastguard Worker     }
25*feeed43cSAndroid Build Coastguard Worker }
26*feeed43cSAndroid Build Coastguard Worker 
<lambda>null27*feeed43cSAndroid Build Coastguard Worker dependencies {
28*feeed43cSAndroid Build Coastguard Worker     implementation("com.google.code.findbugs:jsr305:3.0.2")
29*feeed43cSAndroid Build Coastguard Worker }
30*feeed43cSAndroid Build Coastguard Worker 
<lambda>null31*feeed43cSAndroid Build Coastguard Worker sourceSets {
32*feeed43cSAndroid Build Coastguard Worker     main {
33*feeed43cSAndroid Build Coastguard Worker         java {
34*feeed43cSAndroid Build Coastguard Worker             srcDir("${project.rootDir}/src")
35*feeed43cSAndroid Build Coastguard Worker         }
36*feeed43cSAndroid Build Coastguard Worker         resources {
37*feeed43cSAndroid Build Coastguard Worker             srcDirs("${project.rootDir}/res")
38*feeed43cSAndroid Build Coastguard Worker         }
39*feeed43cSAndroid Build Coastguard Worker     }
40*feeed43cSAndroid Build Coastguard Worker }
41*feeed43cSAndroid Build Coastguard Worker 
42*feeed43cSAndroid Build Coastguard Worker val addedExports = listOf("--add-exports", "jdk.javadoc/jdk.javadoc.internal.tool=ALL-UNNAMED")
43*feeed43cSAndroid Build Coastguard Worker 
<lambda>null44*feeed43cSAndroid Build Coastguard Worker tasks.withType<JavaCompile> {
45*feeed43cSAndroid Build Coastguard Worker     options.compilerArgs.addAll(addedExports)
46*feeed43cSAndroid Build Coastguard Worker 
47*feeed43cSAndroid Build Coastguard Worker     // Exporting a package from system module jdk.javadoc is not allowed with --release so
48*feeed43cSAndroid Build Coastguard Worker     // trick gradle to use -source/-target flags instead.
49*feeed43cSAndroid Build Coastguard Worker     sourceCompatibility = JavaVersion.VERSION_17.majorVersion
50*feeed43cSAndroid Build Coastguard Worker }
51*feeed43cSAndroid Build Coastguard Worker 
<lambda>null52*feeed43cSAndroid Build Coastguard Worker tasks.withType<Test> {
53*feeed43cSAndroid Build Coastguard Worker     jvmArgs(addedExports)
54*feeed43cSAndroid Build Coastguard Worker }
55*feeed43cSAndroid Build Coastguard Worker 
<lambda>null56*feeed43cSAndroid Build Coastguard Worker val docletJars by configurations.creating {
57*feeed43cSAndroid Build Coastguard Worker     extendsFrom(configurations.runtimeClasspath.get())
58*feeed43cSAndroid Build Coastguard Worker }
59*feeed43cSAndroid Build Coastguard Worker 
<lambda>null60*feeed43cSAndroid Build Coastguard Worker tasks.javadoc {
61*feeed43cSAndroid Build Coastguard Worker     dependsOn("e2eTestAOSP")
62*feeed43cSAndroid Build Coastguard Worker }
63*feeed43cSAndroid Build Coastguard Worker 
<lambda>null64*feeed43cSAndroid Build Coastguard Worker tasks.create<Exec>("e2eTestAOSP") {
65*feeed43cSAndroid Build Coastguard Worker     dependsOn("jar")
66*feeed43cSAndroid Build Coastguard Worker 
67*feeed43cSAndroid Build Coastguard Worker     val outputDirectory = project.buildDir.resolve("docs/aosp")
68*feeed43cSAndroid Build Coastguard Worker     val docletpath = listOf(
69*feeed43cSAndroid Build Coastguard Worker         buildDir.resolve("libs/${project.name}.jar").absolutePath,
70*feeed43cSAndroid Build Coastguard Worker         *docletJars.files.map { it.path }.toTypedArray(),
71*feeed43cSAndroid Build Coastguard Worker     ).joinToString(separator = ":")
72*feeed43cSAndroid Build Coastguard Worker 
73*feeed43cSAndroid Build Coastguard Worker     group = "run"
74*feeed43cSAndroid Build Coastguard Worker     workingDir = rootProject.rootDir.resolve("run")
75*feeed43cSAndroid Build Coastguard Worker     outputs.dir(outputDirectory)
76*feeed43cSAndroid Build Coastguard Worker     outputs.upToDateWhen {
77*feeed43cSAndroid Build Coastguard Worker         !tasks.getByPath("jar").didWork
78*feeed43cSAndroid Build Coastguard Worker     }
79*feeed43cSAndroid Build Coastguard Worker 
80*feeed43cSAndroid Build Coastguard Worker     val javadocTool = javaToolchains.javadocToolFor {
81*feeed43cSAndroid Build Coastguard Worker         languageVersion.set(JavaLanguageVersion.of(17))
82*feeed43cSAndroid Build Coastguard Worker     }.get().executablePath.toString()
83*feeed43cSAndroid Build Coastguard Worker 
84*feeed43cSAndroid Build Coastguard Worker     val args = mutableListOf(
85*feeed43cSAndroid Build Coastguard Worker         javadocTool,
86*feeed43cSAndroid Build Coastguard Worker         "-d",
87*feeed43cSAndroid Build Coastguard Worker         outputDirectory.absolutePath,
88*feeed43cSAndroid Build Coastguard Worker         "-doclet",
89*feeed43cSAndroid Build Coastguard Worker         application.mainClass.get(),
90*feeed43cSAndroid Build Coastguard Worker         "-docletpath",
91*feeed43cSAndroid Build Coastguard Worker         docletpath,
92*feeed43cSAndroid Build Coastguard Worker         "-encoding", "UTF-8",
93*feeed43cSAndroid Build Coastguard Worker         "-sourcepath", "out/soong/.intermediates/frameworks/base/offline-sdk-docs/android_common/srcjars", "@out/soong/.intermediates/frameworks/base/offline-sdk-docs/android_common/javadoc.rsp", "@out/soong/.intermediates/frameworks/base/offline-sdk-docs/android_common/srcjars/list",
94*feeed43cSAndroid Build Coastguard Worker         "-bootclasspath", "out/soong/.intermediates/build/soong/java/core-libraries/stable.core.platform.api.stubs/android_common/combined/stable.core.platform.api.stubs.jar:out/soong/.intermediates/libcore/core-lambda-stubs/android_common/javac/core-lambda-stubs.jar",
95*feeed43cSAndroid Build Coastguard Worker         "-classpath", "out/soong/.intermediates/frameworks/base/ext/android_common/turbine-combined/ext.jar:out/soong/.intermediates/frameworks/base/framework/android_common/turbine-combined/framework.jar:out/soong/.intermediates/frameworks/opt/net/voip/voip-common/android_common/turbine-combined/voip-common.jar:out/soong/.intermediates/frameworks/base/test-mock/android.test.mock.stubs.system/android_common/turbine-combined/android.test.mock.stubs.system.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-annotations/android_common/turbine-combined/android-support-annotations.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-compat/android_common/turbine-combined/android-support-compat.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-core-ui/android_common/turbine-combined/android-support-core-ui.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-core-utils/android_common/turbine-combined/android-support-core-utils.jar:out/soong/.intermediates/prebuilts/sdk/current/extras/material-design/android-support-design/android_common/turbine-combined/android-support-design.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-dynamic-animation/android_common/turbine-combined/android-support-dynamic-animation.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-exifinterface/android_common/turbine-combined/android-support-exifinterface.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-fragment/android_common/turbine-combined/android-support-fragment.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-media-compat/android_common/turbine-combined/android-support-media-compat.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-percent/android_common/turbine-combined/android-support-percent.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-transition/android_common/turbine-combined/android-support-transition.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-v7-cardview/android_common/turbine-combined/android-support-v7-cardview.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-v7-gridlayout/android_common/turbine-combined/android-support-v7-gridlayout.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-v7-mediarouter/android_common/turbine-combined/android-support-v7-mediarouter.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-v7-palette/android_common/turbine-combined/android-support-v7-palette.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-v7-preference/android_common/turbine-combined/android-support-v7-preference.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-v13/android_common/turbine-combined/android-support-v13.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-v14-preference/android_common/turbine-combined/android-support-v14-preference.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-v17-leanback/android_common/turbine-combined/android-support-v17-leanback.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-vectordrawable/android_common/turbine-combined/android-support-vectordrawable.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-animatedvectordrawable/android_common/turbine-combined/android-support-animatedvectordrawable.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-v7-appcompat/android_common/turbine-combined/android-support-v7-appcompat.jar:out/soong/.intermediates/prebuilts/sdk/current/support/android-support-v7-recyclerview/android_common/turbine-combined/android-support-v7-recyclerview.jar:out/soong/.intermediates/frameworks/rs/support/android-support-v8-renderscript/android_common/turbine-combined/android-support-v8-renderscript.jar:out/soong/.intermediates/frameworks/multidex/library/android-support-multidex/android_common/turbine-combined/android-support-multidex.jar:out/soong/.intermediates/frameworks/multidex/instrumentation/android-support-multidex-instrumentation/android_common/turbine-combined/android-support-multidex-instrumentation.jar:out/soong/.intermediates/tools/metalava/stub-annotations/android_common/turbine-combined/stub-annotations.jar:out/soong/.intermediates/tools/platform-compat/java/android/compat/annotation/unsupportedappusage/android_common/turbine-combined/unsupportedappusage.jar:out/soong/.intermediates/prebuilts/runtime/mainline/i18n/sdk/core-icu4j/android_common/combined/core-icu4j.jar",
96*feeed43cSAndroid Build Coastguard Worker         "-android",
97*feeed43cSAndroid Build Coastguard Worker         "-manifest", "frameworks_base_core_res_AndroidManifest.xml",
98*feeed43cSAndroid Build Coastguard Worker         "-hide", "111",
99*feeed43cSAndroid Build Coastguard Worker         "-hide", "113",
100*feeed43cSAndroid Build Coastguard Worker         "-hide", "125",
101*feeed43cSAndroid Build Coastguard Worker         "-hide", "126",
102*feeed43cSAndroid Build Coastguard Worker         "-hide", "127",
103*feeed43cSAndroid Build Coastguard Worker         "-hide", "128",
104*feeed43cSAndroid Build Coastguard Worker         "-overview", "frameworks_base_core_java_overview.html",
105*feeed43cSAndroid Build Coastguard Worker         "-federate", "SupportLib", "https://developer.android.com",
106*feeed43cSAndroid Build Coastguard Worker         "-federationapi", "SupportLib", "prebuilts_sdk_current_support-api.txt",
107*feeed43cSAndroid Build Coastguard Worker         "-federate", "AndroidX", "https://developer.android.com",
108*feeed43cSAndroid Build Coastguard Worker         "-federationapi", "AndroidX", "prebuilts_sdk_current_androidx-api.txt",
109*feeed43cSAndroid Build Coastguard Worker         "-offlinemode",
110*feeed43cSAndroid Build Coastguard Worker         "-title", "Android SDK",
111*feeed43cSAndroid Build Coastguard Worker         "-compatconfig", "out/soong/.intermediates/tools/platform-compat/build/global-compat-config/android_common/all_compat_config.xml",
112*feeed43cSAndroid Build Coastguard Worker         "-source", "1.8",
113*feeed43cSAndroid Build Coastguard Worker         "-J-Xmx1600m",
114*feeed43cSAndroid Build Coastguard Worker         "-XDignore.symbol.file",
115*feeed43cSAndroid Build Coastguard Worker         "-hdf", "page.build", "AOSP.MASTER-nikitai-doclava17",
116*feeed43cSAndroid Build Coastguard Worker         "-hdf", "page.now", "Wed Feb  1 20:27:46 GMT 2023",
117*feeed43cSAndroid Build Coastguard Worker         "-templatedir", "../res/assets/templates-sdk",
118*feeed43cSAndroid Build Coastguard Worker         "-htmldir", "frameworks_base_docs/html",
119*feeed43cSAndroid Build Coastguard Worker         "-knowntags", "frameworks_base_docs/knowntags.txt",
120*feeed43cSAndroid Build Coastguard Worker         "-knowntags", "libcore_known_oj_tags.txt",
121*feeed43cSAndroid Build Coastguard Worker         "-hdf", "dac", "true",
122*feeed43cSAndroid Build Coastguard Worker         "-hdf", "sdk.codename", "O",
123*feeed43cSAndroid Build Coastguard Worker         "-hdf", "sdk.preview.version", "1",
124*feeed43cSAndroid Build Coastguard Worker         "-hdf", "sdk.version", "7.0",
125*feeed43cSAndroid Build Coastguard Worker         "-hdf", "sdk.rel.id", "1",
126*feeed43cSAndroid Build Coastguard Worker         "-hdf", "sdk.preview", "0",
127*feeed43cSAndroid Build Coastguard Worker         "-hdf", "android.whichdoc", "offline",
128*feeed43cSAndroid Build Coastguard Worker         "-proofread", "out/soong/.intermediates/frameworks/base/offline-sdk-docs/android_common/offline-sdk-docs-proofread.txt",
129*feeed43cSAndroid Build Coastguard Worker         "-resourcesdir", "frameworks_base_docs/html/reference/images",
130*feeed43cSAndroid Build Coastguard Worker         "-resourcesoutdir", "reference/android/images/",
131*feeed43cSAndroid Build Coastguard Worker         // parameters to tweak
132*feeed43cSAndroid Build Coastguard Worker         //"-werror",
133*feeed43cSAndroid Build Coastguard Worker         //"-lerror",
134*feeed43cSAndroid Build Coastguard Worker         if (false) "-verbose" else "-quiet"
135*feeed43cSAndroid Build Coastguard Worker     )
136*feeed43cSAndroid Build Coastguard Worker     commandLine = args
137*feeed43cSAndroid Build Coastguard Worker }
138