xref: /aosp_15_r20/external/doclava/Android.bp (revision feeed43c7c55e85932c547a3cefc559df175227c)
1*feeed43cSAndroid Build Coastguard Worker// Copyright (C) 2018 The Android Open Source Project
2*feeed43cSAndroid Build Coastguard Worker//
3*feeed43cSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*feeed43cSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*feeed43cSAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*feeed43cSAndroid Build Coastguard Worker//
7*feeed43cSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*feeed43cSAndroid Build Coastguard Worker//
9*feeed43cSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*feeed43cSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*feeed43cSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*feeed43cSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*feeed43cSAndroid Build Coastguard Worker// limitations under the License.
14*feeed43cSAndroid Build Coastguard Worker
15*feeed43cSAndroid Build Coastguard Workerpackage {
16*feeed43cSAndroid Build Coastguard Worker    default_applicable_licenses: ["external_doclava_license"],
17*feeed43cSAndroid Build Coastguard Worker}
18*feeed43cSAndroid Build Coastguard Worker
19*feeed43cSAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
20*feeed43cSAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
21*feeed43cSAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
22*feeed43cSAndroid Build Coastguard Worker//
23*feeed43cSAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
24*feeed43cSAndroid Build Coastguard Worker//
25*feeed43cSAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
26*feeed43cSAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
27*feeed43cSAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
28*feeed43cSAndroid Build Coastguard Worker//
29*feeed43cSAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
30*feeed43cSAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
31*feeed43cSAndroid Build Coastguard Worker// used in the current project.
32*feeed43cSAndroid Build Coastguard Worker// See: http://go/android-license-faq
33*feeed43cSAndroid Build Coastguard Workerlicense {
34*feeed43cSAndroid Build Coastguard Worker    name: "external_doclava_license",
35*feeed43cSAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
36*feeed43cSAndroid Build Coastguard Worker    license_kinds: [
37*feeed43cSAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
38*feeed43cSAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
39*feeed43cSAndroid Build Coastguard Worker        "SPDX-license-identifier-CC-BY",
40*feeed43cSAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL",
41*feeed43cSAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL-2.0",
42*feeed43cSAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL-2.0-with-classpath-exception",
43*feeed43cSAndroid Build Coastguard Worker        "SPDX-license-identifier-LGPL",
44*feeed43cSAndroid Build Coastguard Worker        "SPDX-license-identifier-MIT",
45*feeed43cSAndroid Build Coastguard Worker    ],
46*feeed43cSAndroid Build Coastguard Worker    license_text: [
47*feeed43cSAndroid Build Coastguard Worker        "NOTICE",
48*feeed43cSAndroid Build Coastguard Worker    ],
49*feeed43cSAndroid Build Coastguard Worker}
50*feeed43cSAndroid Build Coastguard Worker
51*feeed43cSAndroid Build Coastguard Workerdroiddoc_exported_dir {
52*feeed43cSAndroid Build Coastguard Worker    name: "droiddoc-templates-sdk",
53*feeed43cSAndroid Build Coastguard Worker    path: "res/assets/templates-sdk",
54*feeed43cSAndroid Build Coastguard Worker}
55*feeed43cSAndroid Build Coastguard Worker
56*feeed43cSAndroid Build Coastguard Workerjava_defaults {
57*feeed43cSAndroid Build Coastguard Worker    name: "doclava_defaults",
58*feeed43cSAndroid Build Coastguard Worker    java_resource_dirs: ["res"],
59*feeed43cSAndroid Build Coastguard Worker    errorprone: {
60*feeed43cSAndroid Build Coastguard Worker        javacflags: [
61*feeed43cSAndroid Build Coastguard Worker            "-Xep:FormatString:WARN",
62*feeed43cSAndroid Build Coastguard Worker            "-Xep:ComparableType:WARN",
63*feeed43cSAndroid Build Coastguard Worker            "-Xep:ReturnValueIgnored:WARN",
64*feeed43cSAndroid Build Coastguard Worker        ],
65*feeed43cSAndroid Build Coastguard Worker    },
66*feeed43cSAndroid Build Coastguard Worker    static_libs: [
67*feeed43cSAndroid Build Coastguard Worker        "jsilver",
68*feeed43cSAndroid Build Coastguard Worker        "antlr-runtime",
69*feeed43cSAndroid Build Coastguard Worker        "tagsoup",
70*feeed43cSAndroid Build Coastguard Worker        "doclava-doclet-adapter",
71*feeed43cSAndroid Build Coastguard Worker    ],
72*feeed43cSAndroid Build Coastguard Worker}
73*feeed43cSAndroid Build Coastguard Worker
74*feeed43cSAndroid Build Coastguard Workerjava_library_host {
75*feeed43cSAndroid Build Coastguard Worker    name: "doclava-doclet-adapter",
76*feeed43cSAndroid Build Coastguard Worker    srcs: [
77*feeed43cSAndroid Build Coastguard Worker        "doclet_adapter/src/main/java/**/*.java",
78*feeed43cSAndroid Build Coastguard Worker    ],
79*feeed43cSAndroid Build Coastguard Worker    libs: [
80*feeed43cSAndroid Build Coastguard Worker        "guava",
81*feeed43cSAndroid Build Coastguard Worker    ],
82*feeed43cSAndroid Build Coastguard Worker    javacflags: [
83*feeed43cSAndroid Build Coastguard Worker        "--add-modules=jdk.compiler",
84*feeed43cSAndroid Build Coastguard Worker        "--add-exports jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",
85*feeed43cSAndroid Build Coastguard Worker        "--add-exports jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED",
86*feeed43cSAndroid Build Coastguard Worker        "--add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED",
87*feeed43cSAndroid Build Coastguard Worker        "--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED",
88*feeed43cSAndroid Build Coastguard Worker        "--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
89*feeed43cSAndroid Build Coastguard Worker        "--add-modules=jdk.javadoc",
90*feeed43cSAndroid Build Coastguard Worker        "--add-exports jdk.javadoc/jdk.javadoc.internal.doclets.formats.html=ALL-UNNAMED",
91*feeed43cSAndroid Build Coastguard Worker        "--add-exports jdk.javadoc/jdk.javadoc.internal.tool=ALL-UNNAMED",
92*feeed43cSAndroid Build Coastguard Worker    ],
93*feeed43cSAndroid Build Coastguard Worker    errorprone: {
94*feeed43cSAndroid Build Coastguard Worker        javacflags: [
95*feeed43cSAndroid Build Coastguard Worker            "-Xep:ComparableType:WARN",
96*feeed43cSAndroid Build Coastguard Worker        ],
97*feeed43cSAndroid Build Coastguard Worker    },
98*feeed43cSAndroid Build Coastguard Worker}
99*feeed43cSAndroid Build Coastguard Worker
100*feeed43cSAndroid Build Coastguard Workerjava_library_host {
101*feeed43cSAndroid Build Coastguard Worker    name: "doclava",
102*feeed43cSAndroid Build Coastguard Worker    defaults: ["doclava_defaults"],
103*feeed43cSAndroid Build Coastguard Worker    srcs: [
104*feeed43cSAndroid Build Coastguard Worker        "src/com/google/doclava/**/*.java",
105*feeed43cSAndroid Build Coastguard Worker    ],
106*feeed43cSAndroid Build Coastguard Worker    static_libs: [
107*feeed43cSAndroid Build Coastguard Worker        "guava",
108*feeed43cSAndroid Build Coastguard Worker    ],
109*feeed43cSAndroid Build Coastguard Worker}
110*feeed43cSAndroid Build Coastguard Worker
111*feeed43cSAndroid Build Coastguard Worker
112*feeed43cSAndroid Build Coastguard Worker// TODO: add a test target.
113*feeed43cSAndroid Build Coastguard Worker// For now, you can run the unit tests thus:
114*feeed43cSAndroid Build Coastguard Worker// vogar --classpath /usr/lib/jvm/java-6-sun/lib/tools.jar --classpath ../../out/host/common/obj/JAVA_LIBRARIES/antlr_intermediates/javalib.jar --sourcepath src/ --sourcepath ../jsilver/src/ --mode jvm test/doclava/ApiCheckTest.java
115