Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ecf9fc3c authored by Anton Hansson's avatar Anton Hansson
Browse files

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
parent 899766a7
Loading
Loading
Loading
Loading
+5 −24
Original line number Diff line number Diff line
@@ -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",
+16 −0
Original line number Diff line number Diff line
@@ -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 {