Create a filegroup for public stub sources
For use by framework-doc-stubs, to avoid duplicating the list of
modules there.
Bug: 169103987
Test: m framework-doc-stubs ; diff intermediates before & after
Change-Id: Ib1a1d1bb9fcf866278c6ddd057712a9c92716dbf
diff --git a/ApiDocs.bp b/ApiDocs.bp
index 7d4a5e5..321952d 100644
--- a/ApiDocs.bp
+++ b/ApiDocs.bp
@@ -74,11 +74,6 @@
srcs: [
":android-non-updatable-stub-sources",
- // Module sources
- ":art.module.public.api{.public.stubs.source}",
- ":conscrypt.module.public.api{.public.stubs.source}",
- ":i18n.module.public.api{.public.stubs.source}",
-
// No longer part of the stubs, but are included in the docs.
":android-test-base-sources",
":android-test-mock-sources",
@@ -116,6 +111,10 @@
name: "framework-doc-stubs-sources-default",
defaults: ["framework-doc-stubs-default"],
srcs: [
+ ":art.module.public.api{.public.stubs.source}",
+ ":conscrypt.module.public.api{.public.stubs.source}",
+ ":i18n.module.public.api{.public.stubs.source}",
+
":framework-appsearch-sources",
":framework-connectivity-sources",
":framework-connectivity-tiramisu-updatable-sources",
@@ -160,26 +159,8 @@
droidstubs {
name: "framework-doc-stubs",
defaults: ["framework-doc-stubs-default"],
+ srcs: [":all-modules-public-stubs-source"],
args: metalava_framework_docs_args,
- srcs: [
- ":android.net.ipsec.ike{.public.stubs.source}",
- ":framework-appsearch{.public.stubs.source}",
- ":framework-connectivity{.public.stubs.source}",
- ":framework-connectivity-tiramisu{.public.stubs.source}",
- ":framework-graphics{.public.stubs.source}",
- ":framework-media{.public.stubs.source}",
- ":framework-mediaprovider{.public.stubs.source}",
- ":framework-nearby{.public.stubs.source}",
- ":framework-permission{.public.stubs.source}",
- ":framework-permission-s{.public.stubs.source}",
- ":framework-scheduling{.public.stubs.source}",
- ":framework-sdkextensions{.public.stubs.source}",
- ":framework-statsd{.public.stubs.source}",
- ":framework-supplementalprocess{.public.stubs.source}",
- ":framework-tethering{.public.stubs.source}",
- ":framework-uwb{.public.stubs.source}",
- ":framework-wifi{.public.stubs.source}",
- ],
aidl: {
local_include_dirs: [
"apex/media/aidl/stable",
diff --git a/api/api.go b/api/api.go
index e4c1b96..4b6ebc1 100644
--- a/api/api.go
+++ b/api/api.go
@@ -81,6 +81,12 @@
Visibility []string
}
+type fgProps struct {
+ Name *string
+ Srcs []string
+ Visibility []string
+}
+
// Struct to pass parameters for the various merged [current|removed].txt file modules we create.
type MergedTxtDefinition struct {
// "current.txt" or "removed.txt"
@@ -188,6 +194,14 @@
ctx.CreateModule(java.LibraryFactory, &props)
}
+func createPublicStubsSourceFilegroup(ctx android.LoadHookContext, modules []string) {
+ props := fgProps{}
+ props.Name = proptools.StringPtr("all-modules-public-stubs-source")
+ props.Srcs = createSrcs(modules, "{.public.stubs.source}")
+ props.Visibility = []string{"//frameworks/base"}
+ ctx.CreateModule(android.FileGroupFactory, &props)
+}
+
func createMergedTxts(ctx android.LoadHookContext, bootclasspath, system_server_classpath []string) {
var textFiles []MergedTxtDefinition
// Two module libraries currently do not support @SystemApi so only have the public scope.
@@ -244,6 +258,8 @@
createMergedAnnotations(ctx, bootclasspath)
createFilteredApiVersions(ctx, bootclasspath)
+
+ createPublicStubsSourceFilegroup(ctx, bootclasspath)
}
func combinedApisModuleFactory() android.Module {