From ecf9fc3cabece14b75788865e16c98bdf174fb18 Mon Sep 17 00:00:00 2001 From: Anton Hansson Date: Fri, 14 Jan 2022 12:10:01 +0000 Subject: 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 --- ApiDocs.bp | 29 +++++------------------------ api/api.go | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/ApiDocs.bp b/ApiDocs.bp index 7d4a5e52df35..321952d3aed2 100644 --- a/ApiDocs.bp +++ b/ApiDocs.bp @@ -74,11 +74,6 @@ stubs_defaults { 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 @@ stubs_defaults { 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 { 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 e4c1b969226f..4b6ebc1947e9 100644 --- a/api/api.go +++ b/api/api.go @@ -81,6 +81,12 @@ type libraryProps struct { 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 @@ func createMergedModuleLibStubs(ctx android.LoadHookContext, modules []string) { 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 @@ func (a *CombinedApis) createInternalModules(ctx android.LoadHookContext) { createMergedAnnotations(ctx, bootclasspath) createFilteredApiVersions(ctx, bootclasspath) + + createPublicStubsSourceFilegroup(ctx, bootclasspath) } func combinedApisModuleFactory() android.Module { -- cgit v1.2.3-59-g8ed1b