xref: /aosp_15_r20/tools/metalava/Android.bp (revision 115816f9299ab6ddd6b9673b81f34e707f6bacab)
1*115816f9SAndroid Build Coastguard Worker// Copyright (C) 2018 The Android Open Source Project
2*115816f9SAndroid Build Coastguard Worker//
3*115816f9SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*115816f9SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*115816f9SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*115816f9SAndroid Build Coastguard Worker//
7*115816f9SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*115816f9SAndroid Build Coastguard Worker//
9*115816f9SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*115816f9SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*115816f9SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*115816f9SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*115816f9SAndroid Build Coastguard Worker// limitations under the License.
14*115816f9SAndroid Build Coastguard Worker
15*115816f9SAndroid Build Coastguard Workerpackage {
16*115816f9SAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
17*115816f9SAndroid Build Coastguard Worker}
18*115816f9SAndroid Build Coastguard Worker
19*115816f9SAndroid Build Coastguard Workerjava_library_host {
20*115816f9SAndroid Build Coastguard Worker    name: "metalava-signature-reader",
21*115816f9SAndroid Build Coastguard Worker    static_libs: [
22*115816f9SAndroid Build Coastguard Worker        "metalava-model",
23*115816f9SAndroid Build Coastguard Worker        "metalava-model-text",
24*115816f9SAndroid Build Coastguard Worker    ],
25*115816f9SAndroid Build Coastguard Worker}
26*115816f9SAndroid Build Coastguard Worker
27*115816f9SAndroid Build Coastguard Worker// Make the version.properties file available for `metalava-main` in `metalava`
28*115816f9SAndroid Build Coastguard Worker// directory.
29*115816f9SAndroid Build Coastguard Workerfilegroup {
30*115816f9SAndroid Build Coastguard Worker    name: "metalava-version",
31*115816f9SAndroid Build Coastguard Worker    visibility: [
32*115816f9SAndroid Build Coastguard Worker        "//tools/metalava:__subpackages__",
33*115816f9SAndroid Build Coastguard Worker    ],
34*115816f9SAndroid Build Coastguard Worker    srcs: ["version.properties"],
35*115816f9SAndroid Build Coastguard Worker}
36*115816f9SAndroid Build Coastguard Worker
37*115816f9SAndroid Build Coastguard Workerjava_library {
38*115816f9SAndroid Build Coastguard Worker    name: "stub-annotations",
39*115816f9SAndroid Build Coastguard Worker    host_supported: true,
40*115816f9SAndroid Build Coastguard Worker    srcs: [
41*115816f9SAndroid Build Coastguard Worker        "stub-annotations/src/main/java/**/*.java",
42*115816f9SAndroid Build Coastguard Worker    ],
43*115816f9SAndroid Build Coastguard Worker    // Allow core_current to use stub-annotations.
44*115816f9SAndroid Build Coastguard Worker    sdk_version: "28",
45*115816f9SAndroid Build Coastguard Worker    target: {
46*115816f9SAndroid Build Coastguard Worker        host: {
47*115816f9SAndroid Build Coastguard Worker            dist: {
48*115816f9SAndroid Build Coastguard Worker                targets: ["sdk"],
49*115816f9SAndroid Build Coastguard Worker            },
50*115816f9SAndroid Build Coastguard Worker        },
51*115816f9SAndroid Build Coastguard Worker    },
52*115816f9SAndroid Build Coastguard Worker}
53*115816f9SAndroid Build Coastguard Worker
54*115816f9SAndroid Build Coastguard Workergenrule {
55*115816f9SAndroid Build Coastguard Worker    name: "private-stub-annotations",
56*115816f9SAndroid Build Coastguard Worker    tools: [
57*115816f9SAndroid Build Coastguard Worker        "soong_zip",
58*115816f9SAndroid Build Coastguard Worker        "metalava",
59*115816f9SAndroid Build Coastguard Worker    ],
60*115816f9SAndroid Build Coastguard Worker    srcs: [
61*115816f9SAndroid Build Coastguard Worker        "stub-annotations/src/main/java/**/*.java",
62*115816f9SAndroid Build Coastguard Worker    ],
63*115816f9SAndroid Build Coastguard Worker    cmd: "($(location metalava) make-annotations-package-private " +
64*115816f9SAndroid Build Coastguard Worker        "tools/metalava/stub-annotations/src/main/java $(genDir)/private-stub-annotations) " +
65*115816f9SAndroid Build Coastguard Worker        "&& ($(location soong_zip) -o $(out) -C $(genDir) -D $(genDir))",
66*115816f9SAndroid Build Coastguard Worker    out: [
67*115816f9SAndroid Build Coastguard Worker        "private-stub-annotations.srcjar",
68*115816f9SAndroid Build Coastguard Worker    ],
69*115816f9SAndroid Build Coastguard Worker}
70*115816f9SAndroid Build Coastguard Worker
71*115816f9SAndroid Build Coastguard Workerjava_library {
72*115816f9SAndroid Build Coastguard Worker    name: "private-stub-annotations-jar",
73*115816f9SAndroid Build Coastguard Worker    host_supported: true,
74*115816f9SAndroid Build Coastguard Worker    srcs: [
75*115816f9SAndroid Build Coastguard Worker        ":private-stub-annotations",
76*115816f9SAndroid Build Coastguard Worker    ],
77*115816f9SAndroid Build Coastguard Worker    sdk_version: "core_current",
78*115816f9SAndroid Build Coastguard Worker    // private-stub-annotations-jar ends up in android.jar in the SDK and should
79*115816f9SAndroid Build Coastguard Worker    // use -target 8.
80*115816f9SAndroid Build Coastguard Worker    java_version: "1.8",
81*115816f9SAndroid Build Coastguard Worker}
82*115816f9SAndroid Build Coastguard Worker
83*115816f9SAndroid Build Coastguard Workerdroiddoc_exported_dir {
84*115816f9SAndroid Build Coastguard Worker    name: "metalava-manual",
85*115816f9SAndroid Build Coastguard Worker    path: "manual",
86*115816f9SAndroid Build Coastguard Worker}
87