Anton Hansson d75144f25c Re-submit "Add genrule for combined srcjar of modules"
The sources of the stubs are shipped as part of the public SDK.
Currently the SDK depends on the output of the monolithic metalava run,
but it can be assembled by merging the srcjars of the individual runs.

There is a diff -- module stub sources contain javadoc comments. I don't
think has any negative impact. Also package-info.html files are
included, which probably is fine.

Bug: 169034951
Test: diff new output with existing monolith
Test: TARGET_BUILD_APPS=foo m nothing
Change-Id: I851ff8e87476b8e22abdcfe1d75da5d82030f302
Merged-In: I851ff8e87476b8e22abdcfe1d75da5d82030f302
(cherry picked from commit 89c74dc41c8ab156c82df30f867e66e970058677)
2020-11-10 07:53:14 +00:00

224 lines
7.3 KiB
Plaintext

// Copyright (C) 2020 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_visibility: ["//visibility:private"],
}
genrule {
name: "current-api-xml",
tools: ["metalava"],
srcs: [":frameworks-base-api-current.txt"],
out: ["current.api"],
cmd: "$(location metalava) --no-banner -convert2xmlnostrip $(in) $(out)",
visibility: ["//visibility:public"],
}
genrule {
name: "frameworks-base-api-current.txt",
srcs: [
":conscrypt.module.public.api{.public.api.txt}",
":framework-media{.public.api.txt}",
":framework-mediaprovider{.public.api.txt}",
":framework-permission{.public.api.txt}",
":framework-sdkextensions{.public.api.txt}",
":framework-statsd{.public.api.txt}",
":framework-tethering{.public.api.txt}",
":framework-wifi{.public.api.txt}",
":non-updatable-current.txt",
],
out: ["current.txt"],
tools: ["metalava"],
cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
dists: [
{
targets: ["droidcore"],
dir: "api",
dest: "current.txt",
},
{
targets: ["sdk", "win_sdk"],
dir: "apistubs/android/public/api",
dest: "android.txt",
},
],
visibility: ["//visibility:public"],
}
genrule {
name: "frameworks-base-api-current.srcjar",
srcs: [
":api-stubs-docs-non-updatable",
":conscrypt.module.public.api{.public.stubs.source}",
":framework-media{.public.stubs.source}",
":framework-mediaprovider{.public.stubs.source}",
":framework-permission{.public.stubs.source}",
":framework-sdkextensions{.public.stubs.source}",
":framework-statsd{.public.stubs.source}",
":framework-tethering{.public.stubs.source}",
":framework-wifi{.public.stubs.source}",
],
out: ["current.srcjar"],
tools: ["merge_zips"],
cmd: "$(location merge_zips) $(out) $(in)",
visibility: ["//visibility:private"], // Used by make module in //development, mind.
}
genrule {
name: "frameworks-base-api-removed.txt",
srcs: [
":conscrypt.module.public.api{.public.removed-api.txt}",
":framework-media{.public.removed-api.txt}",
":framework-mediaprovider{.public.removed-api.txt}",
":framework-permission{.public.removed-api.txt}",
":framework-sdkextensions{.public.removed-api.txt}",
":framework-statsd{.public.removed-api.txt}",
":framework-tethering{.public.removed-api.txt}",
":framework-wifi{.public.removed-api.txt}",
":non-updatable-removed.txt",
],
out: ["removed.txt"],
tools: ["metalava"],
cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
dists: [
{
targets: ["droidcore"],
dir: "api",
dest: "removed.txt",
},
],
}
genrule {
name: "frameworks-base-api-system-current.txt",
srcs: [
":framework-media{.system.api.txt}",
":framework-mediaprovider{.system.api.txt}",
":framework-permission{.system.api.txt}",
":framework-sdkextensions{.system.api.txt}",
":framework-statsd{.system.api.txt}",
":framework-tethering{.system.api.txt}",
":framework-wifi{.system.api.txt}",
":non-updatable-system-current.txt",
],
out: ["system-current.txt"],
tools: ["metalava"],
cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
dists: [
{
targets: ["droidcore"],
dir: "api",
dest: "system-current.txt",
},
{
targets: ["sdk", "win_sdk"],
dir: "apistubs/android/system/api",
dest: "android.txt",
},
],
visibility: ["//visibility:public"],
}
genrule {
name: "frameworks-base-api-system-removed.txt",
srcs: [
":framework-media{.system.removed-api.txt}",
":framework-mediaprovider{.system.removed-api.txt}",
":framework-permission{.system.removed-api.txt}",
":framework-sdkextensions{.system.removed-api.txt}",
":framework-statsd{.system.removed-api.txt}",
":framework-tethering{.system.removed-api.txt}",
":framework-wifi{.system.removed-api.txt}",
":non-updatable-system-removed.txt",
],
out: ["system-removed.txt"],
tools: ["metalava"],
cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
dists: [
{
targets: ["droidcore"],
dir: "api",
dest: "system-removed.txt",
},
],
visibility: ["//visibility:public"],
}
genrule {
name: "frameworks-base-api-module-lib-current.txt",
srcs: [
":framework-media{.module-lib.api.txt}",
":framework-mediaprovider{.module-lib.api.txt}",
":framework-permission{.module-lib.api.txt}",
":framework-sdkextensions{.module-lib.api.txt}",
":framework-statsd{.module-lib.api.txt}",
":framework-tethering{.module-lib.api.txt}",
":framework-wifi{.module-lib.api.txt}",
":non-updatable-module-lib-current.txt",
],
out: ["module-lib-current.txt"],
tools: ["metalava"],
cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
dists: [
{
targets: ["droidcore"],
dir: "api",
dest: "module-lib-current.txt",
},
{
targets: ["sdk", "win_sdk"],
dir: "apistubs/android/module-lib/api",
dest: "android.txt",
},
],
}
genrule {
name: "frameworks-base-api-module-lib-removed.txt",
srcs: [
":framework-media{.module-lib.removed-api.txt}",
":framework-mediaprovider{.module-lib.removed-api.txt}",
":framework-permission{.module-lib.removed-api.txt}",
":framework-sdkextensions{.module-lib.removed-api.txt}",
":framework-statsd{.module-lib.removed-api.txt}",
":framework-tethering{.module-lib.removed-api.txt}",
":framework-wifi{.module-lib.removed-api.txt}",
":non-updatable-module-lib-removed.txt",
],
out: ["module-lib-removed.txt"],
tools: ["metalava"],
cmd: "$(location metalava) --no-banner --format=v2 $(in) --api $(out)",
dists: [
{
targets: ["droidcore"],
dir: "api",
dest: "module-lib-removed.txt",
},
],
}
genrule {
name: "combined-removed-dex",
srcs: [
":frameworks-base-api-removed.txt",
":frameworks-base-api-system-removed.txt",
":android.car-stubs-docs{.removed-api.txt}",
":android.car-system-stubs-docs{.removed-api.txt}",
],
tool_files: ["gen_combined_removed_dex.sh"],
tools: ["metalava"],
out: ["combined-removed-dex.txt"],
cmd: "$(location gen_combined_removed_dex.sh) $(location metalava) $(genDir) $(in) > $(out)",
}