| // Copyright (C) 2018 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| package { |
| default_applicable_licenses: ["Android-Apache-2.0"], |
| } |
| |
| java_binary_host { |
| name: "metalava", |
| srcs: [ |
| "src/main/java/**/*.java", |
| "src/main/java/**/*.kt", |
| ], |
| java_resource_dirs: ["src/main/resources/"], |
| static_libs: [ |
| "jsr305", |
| "jsr330", |
| "kotlin-reflect", |
| "metalava-tools-common-m2-deps", |
| "metalava-gradle-plugin-deps", |
| ], |
| manifest: "manifest.txt", |
| target: { |
| host: { |
| dist: { |
| targets: ["sdk"], |
| }, |
| }, |
| }, |
| visibility: [ |
| // Metalava is linked by //vendor/xts/gts-tests/hostsidetests/api, but because it's a |
| // make project, soong's visibility won't apply. Soong also won't let you specify a |
| // subpackage of //vendor/ here. So let's just make it private. |
| // When //vendor/xts/gts-tests/hostsidetests/api migrates to Android.bp, we need to |
| // open metalava to //vendor:__subpackages__. |
| "//visibility:private", |
| ], |
| } |
| |
| java_library { |
| name: "stub-annotations", |
| host_supported: true, |
| srcs: [ |
| "stub-annotations/src/main/java/**/*.java", |
| ], |
| // Allow core_current to use stub-annotations. |
| sdk_version: "28", |
| target: { |
| host: { |
| dist: { |
| targets: ["sdk"], |
| }, |
| }, |
| }, |
| } |
| |
| genrule { |
| name: "private-stub-annotations", |
| tools: [ |
| "soong_zip", |
| "metalava", |
| ], |
| srcs: [ |
| "stub-annotations/src/main/java/**/*.java", |
| ], |
| cmd: "($(location metalava) --no-banner --copy-annotations tools/metalava/stub-annotations " + |
| "$(genDir)/private-stub-annotations) && ($(location soong_zip) -o $(out) -C $(genDir) -D $(genDir))", |
| out: [ |
| "private-stub-annotations.srcjar", |
| ], |
| } |
| |
| java_library { |
| name: "private-stub-annotations-jar", |
| host_supported: true, |
| srcs: [ |
| ":private-stub-annotations", |
| ], |
| sdk_version: "core_current", |
| // private-stub-annotations-jar ends up in android.jar in the SDK and should |
| // use -target 8. |
| java_version: "1.8", |
| } |
| |
| droiddoc_exported_dir { |
| name: "metalava-manual", |
| path: "manual", |
| } |