Loading api/Android.bp +6 −1 Original line number Diff line number Diff line Loading @@ -284,7 +284,7 @@ packages_to_document = [ // These are libs from framework-internal-utils that are required (i.e. being referenced) // from framework-non-updatable-sources. Add more here when there's a need. // DO NOT add the entire framework-internal-utils. It might cause unnecessary circular // dependencies gets bigger. // dependencies when the list gets bigger. android_non_updatable_stubs_libs = [ "android.hardware.cas-V1.2-java", "android.hardware.health-V1.0-java-constants", Loading Loading @@ -381,6 +381,11 @@ non_updatable_api_deps_on_modules = [ "sdk_system_current_android", ] java_defaults { name: "module-classpath-java-defaults", libs: non_updatable_api_deps_on_modules, } // Defaults with module APIs in the classpath (mostly from prebuilts). // Suitable for compiling android-non-updatable. stubs_defaults { Loading api/StubLibraries.bp +29 −230 Original line number Diff line number Diff line Loading @@ -563,8 +563,12 @@ java_library { java_defaults { name: "android-non-updatable_from_text_defaults", defaults: ["android-non-updatable-stubs-libs-defaults"], static_libs: ["framework-res-package-jar"], libs: ["stub-annotations"], sdk_version: "none", system_modules: "none", previous_api: ":android.api.public.latest", } java_defaults { Loading @@ -582,10 +586,10 @@ java_api_library { "api-stubs-docs-non-updatable.api.contribution", ], defaults: ["android-non-updatable_everything_from_text_defaults"], full_api_surface_stub: "android_stubs_current.from-text", // Use full Android API not just the non-updatable API as the latter is incomplete // and can result in incorrect behavior. previous_api: ":android.api.combined.public.latest", libs: ["all-modules-public-stubs"], } java_api_library { Loading @@ -596,10 +600,10 @@ java_api_library { "system-api-stubs-docs-non-updatable.api.contribution", ], defaults: ["android-non-updatable_everything_from_text_defaults"], full_api_surface_stub: "android_system_stubs_current.from-text", // Use full Android API not just the non-updatable API as the latter is incomplete // and can result in incorrect behavior. previous_api: ":android.api.combined.system.latest", libs: ["all-modules-system-stubs"], } java_api_library { Loading @@ -611,10 +615,10 @@ java_api_library { "test-api-stubs-docs-non-updatable.api.contribution", ], defaults: ["android-non-updatable_everything_from_text_defaults"], full_api_surface_stub: "android_test_stubs_current.from-text", // Use full Android API not just the non-updatable API as the latter is incomplete // and can result in incorrect behavior. previous_api: ":android.api.combined.test.latest", libs: ["all-modules-system-stubs"], } java_api_library { Loading @@ -625,8 +629,10 @@ java_api_library { "system-api-stubs-docs-non-updatable.api.contribution", "module-lib-api-stubs-docs-non-updatable.api.contribution", ], defaults: ["android-non-updatable_everything_from_text_defaults"], full_api_surface_stub: "android_module_lib_stubs_current_full.from-text", defaults: [ "module-classpath-java-defaults", "android-non-updatable_everything_from_text_defaults", ], // Use full Android API not just the non-updatable API as the latter is incomplete // and can result in incorrect behavior. previous_api: ":android.api.combined.module-lib.latest", Loading @@ -644,14 +650,16 @@ java_api_library { "test-api-stubs-docs-non-updatable.api.contribution", "module-lib-api-stubs-docs-non-updatable.api.contribution", ], defaults: ["android-non-updatable_everything_from_text_defaults"], full_api_surface_stub: "android_test_module_lib_stubs_current.from-text", defaults: [ "module-classpath-java-defaults", "android-non-updatable_everything_from_text_defaults", ], // No need to specify previous_api as this is not used for compiling against. // This module is only used for hiddenapi, and other modules should not // depend on this module. visibility: ["//visibility:private"], libs: ["all-modules-system-stubs"], } java_defaults { Loading @@ -665,7 +673,7 @@ java_defaults { } java_library { name: "android_stubs_current.from-source", name: "android_stubs_current", static_libs: [ "all-modules-public-stubs", "android-non-updatable.stubs", Loading @@ -675,7 +683,7 @@ java_library { } java_library { name: "android_stubs_current_exportable.from-source", name: "android_stubs_current_exportable", static_libs: [ "all-modules-public-stubs-exportable", "android-non-updatable.stubs.exportable", Loading @@ -685,7 +693,7 @@ java_library { } java_library { name: "android_system_stubs_current.from-source", name: "android_system_stubs_current", static_libs: [ "all-modules-system-stubs", "android-non-updatable.stubs.system", Loading @@ -698,7 +706,7 @@ java_library { } java_library { name: "android_system_stubs_current_exportable.from-source", name: "android_system_stubs_current_exportable", static_libs: [ "all-modules-system-stubs-exportable", "android-non-updatable.stubs.exportable.system", Loading @@ -722,7 +730,7 @@ java_library { } java_library { name: "android_test_stubs_current.from-source", name: "android_test_stubs_current", static_libs: [ // Updatable modules do not have test APIs, but we want to include their SystemApis, like we // include the SystemApi of framework-non-updatable-sources. Loading @@ -739,7 +747,7 @@ java_library { } java_library { name: "android_test_stubs_current_exportable.from-source", name: "android_test_stubs_current_exportable", static_libs: [ // Updatable modules do not have test APIs, but we want to include their SystemApis, like we // include the SystemApi of framework-non-updatable-sources. Loading @@ -760,7 +768,7 @@ java_library { // This module does not need to be copied to dist java_library { name: "android_test_frameworks_core_stubs_current.from-source", name: "android_test_frameworks_core_stubs_current", static_libs: [ "all-updatable-modules-system-stubs", "android-non-updatable.stubs.test", Loading @@ -772,7 +780,7 @@ java_library { } java_library { name: "android_module_lib_stubs_current.from-source", name: "android_module_lib_stubs_current", defaults: [ "android.jar_defaults", ], Loading @@ -785,7 +793,7 @@ java_library { } java_library { name: "android_module_lib_stubs_current_exportable.from-source", name: "android_module_lib_stubs_current_exportable", defaults: [ "android.jar_defaults", "android_stubs_dists_default", Loading @@ -801,20 +809,20 @@ java_library { } java_library { name: "android_system_server_stubs_current.from-source", name: "android_system_server_stubs_current", defaults: [ "android.jar_defaults", ], srcs: [":services-non-updatable-stubs"], installable: false, static_libs: [ "android_module_lib_stubs_current.from-source", "android_module_lib_stubs_current", ], visibility: ["//frameworks/base/services"], } java_library { name: "android_system_server_stubs_current_exportable.from-source", name: "android_system_server_stubs_current_exportable", defaults: [ "android.jar_defaults", "android_stubs_dists_default", Loading @@ -822,7 +830,7 @@ java_library { srcs: [":services-non-updatable-stubs{.exportable}"], installable: false, static_libs: [ "android_module_lib_stubs_current_exportable.from-source", "android_module_lib_stubs_current_exportable", ], dist: { dir: "apistubs/android/system-server", Loading Loading @@ -897,215 +905,6 @@ java_genrule { }, } // // Java API defaults and libraries for single tree build // java_defaults { name: "stub-annotation-defaults", libs: [ "stub-annotations", ], static_libs: [ // stub annotations do not contribute to the API surfaces but are statically // linked in the stubs for API surfaces (see frameworks/base/StubLibraries.bp). // This is because annotation processors insist on loading the classes for any // annotations found, thus should exist inside android.jar. "private-stub-annotations-jar", ], is_stubs_module: true, } // Listing of API domains contribution and dependencies per API surfaces java_defaults { name: "android_test_stubs_current_contributions", api_surface: "test", api_contributions: [ "framework-virtualization.stubs.source.test.api.contribution", "framework-location.stubs.source.test.api.contribution", ], } java_defaults { name: "android_test_frameworks_core_stubs_current_contributions", api_surface: "test", api_contributions: [ "test-api-stubs-docs-non-updatable.api.contribution", ], } java_defaults { name: "android_module_lib_stubs_current_contributions", api_surface: "module-lib", api_contributions: [ "api-stubs-docs-non-updatable.api.contribution", "system-api-stubs-docs-non-updatable.api.contribution", "module-lib-api-stubs-docs-non-updatable.api.contribution", "art.module.public.api.stubs.source.api.contribution", "art.module.public.api.stubs.source.system.api.contribution", "art.module.public.api.stubs.source.module_lib.api.contribution", "i18n.module.public.api.stubs.source.api.contribution", "i18n.module.public.api.stubs.source.system.api.contribution", "i18n.module.public.api.stubs.source.module_lib.api.contribution", ], previous_api: ":android.api.combined.module-lib.latest", } // Java API library definitions per API surface java_api_library { name: "android_stubs_current.from-text", api_surface: "public", defaults: [ // This module is dynamically created at frameworks/base/api/api.go // instead of being written out, in order to minimize edits in the codebase // when there is a change in the list of modules. // that contributes to an api surface. "android_stubs_current_contributions", "stub-annotation-defaults", ], api_contributions: [ "api-stubs-docs-non-updatable.api.contribution", ], visibility: ["//visibility:public"], enable_validation: false, stubs_type: "everything", } java_api_library { name: "android_system_stubs_current.from-text", api_surface: "system", defaults: [ "android_stubs_current_contributions", "android_system_stubs_current_contributions", "stub-annotation-defaults", ], api_contributions: [ "api-stubs-docs-non-updatable.api.contribution", "system-api-stubs-docs-non-updatable.api.contribution", ], visibility: ["//visibility:public"], enable_validation: false, stubs_type: "everything", } java_api_library { name: "android_test_stubs_current.from-text", api_surface: "test", defaults: [ "android_stubs_current_contributions", "android_system_stubs_current_contributions", "android_test_stubs_current_contributions", "stub-annotation-defaults", ], api_contributions: [ "api-stubs-docs-non-updatable.api.contribution", "system-api-stubs-docs-non-updatable.api.contribution", "test-api-stubs-docs-non-updatable.api.contribution", ], visibility: ["//visibility:public"], enable_validation: false, stubs_type: "everything", } java_api_library { name: "android_test_frameworks_core_stubs_current.from-text", api_surface: "test", defaults: [ "android_stubs_current_contributions", "android_system_stubs_current_contributions", "android_test_frameworks_core_stubs_current_contributions", ], libs: [ "stub-annotations", ], api_contributions: [ "api-stubs-docs-non-updatable.api.contribution", "system-api-stubs-docs-non-updatable.api.contribution", ], enable_validation: false, stubs_type: "everything", } java_api_library { name: "android_module_lib_stubs_current_full.from-text", api_surface: "module-lib", defaults: [ "android_stubs_current_contributions", "android_system_stubs_current_contributions", "android_module_lib_stubs_current_contributions_full", ], libs: [ "stub-annotations", ], api_contributions: [ "api-stubs-docs-non-updatable.api.contribution", "system-api-stubs-docs-non-updatable.api.contribution", "module-lib-api-stubs-docs-non-updatable.api.contribution", ], visibility: ["//visibility:public"], enable_validation: false, stubs_type: "everything", } java_api_library { name: "android_module_lib_stubs_current.from-text", api_surface: "module-lib", defaults: [ "android_module_lib_stubs_current_contributions", ], libs: [ "android_module_lib_stubs_current_full.from-text", "stub-annotations", ], visibility: ["//visibility:public"], enable_validation: false, stubs_type: "everything", } java_api_library { name: "android_test_module_lib_stubs_current.from-text", api_surface: "module-lib", defaults: [ "android_stubs_current_contributions", "android_system_stubs_current_contributions", "android_test_stubs_current_contributions", "android_module_lib_stubs_current_contributions", ], libs: [ "android_module_lib_stubs_current_full.from-text", "stub-annotations", ], api_contributions: [ "test-api-stubs-docs-non-updatable.api.contribution", ], // This module is only used to build android-non-updatable.stubs.test_module_lib // and other modules should not depend on this module. visibility: [ "//visibility:private", ], enable_validation: false, stubs_type: "everything", } java_api_library { name: "android_system_server_stubs_current.from-text", api_surface: "system-server", api_contributions: [ "services-non-updatable-stubs.api.contribution", ], libs: [ "android_module_lib_stubs_current.from-text", "stub-annotations", ], static_libs: [ "android_module_lib_stubs_current.from-text", ], visibility: ["//visibility:public"], enable_validation: false, stubs_type: "everything", } //////////////////////////////////////////////////////////////////////// // api-versions.xml generation, for public and system. This API database // also contains the android.test.* APIs. Loading api/api.go +0 −81 Original line number Diff line number Diff line Loading @@ -15,9 +15,7 @@ package api import ( "fmt" "sort" "strings" "github.com/google/blueprint/proptools" Loading Loading @@ -464,79 +462,6 @@ func createMergedTxts(ctx android.LoadHookContext, bootclasspath, system_server_ } } func createApiContributionDefaults(ctx android.LoadHookContext, modules []string) { defaultsSdkKinds := []android.SdkKind{ android.SdkPublic, android.SdkSystem, android.SdkModule, } for _, sdkKind := range defaultsSdkKinds { props := defaultsProps{} props.Name = proptools.StringPtr( sdkKind.DefaultJavaLibraryName() + "_contributions") if sdkKind == android.SdkModule { props.Name = proptools.StringPtr( sdkKind.DefaultJavaLibraryName() + "_contributions_full") } props.Api_surface = proptools.StringPtr(sdkKind.String()) apiSuffix := "" if sdkKind != android.SdkPublic { apiSuffix = "." + strings.ReplaceAll(sdkKind.String(), "-", "_") } props.Api_contributions = transformArray( modules, "", fmt.Sprintf(".stubs.source%s.api.contribution", apiSuffix)) props.Defaults_visibility = []string{"//visibility:public"} props.Previous_api = proptools.StringPtr(":android.api.combined." + sdkKind.String() + ".latest") ctx.CreateModule(java.DefaultsFactory, &props) } } func createFullApiLibraries(ctx android.LoadHookContext) { javaLibraryNames := []string{ "android_stubs_current", "android_system_stubs_current", "android_test_stubs_current", "android_test_frameworks_core_stubs_current", "android_module_lib_stubs_current", "android_system_server_stubs_current", } for _, libraryName := range javaLibraryNames { props := libraryProps{} props.Name = proptools.StringPtr(libraryName) staticLib := libraryName + ".from-source" if ctx.Config().BuildFromTextStub() { staticLib = libraryName + ".from-text" } props.Static_libs = []string{staticLib} props.Defaults = []string{"android.jar_defaults"} props.Visibility = []string{"//visibility:public"} props.Is_stubs_module = proptools.BoolPtr(true) ctx.CreateModule(java.LibraryFactory, &props) } } func createFullExportableApiLibraries(ctx android.LoadHookContext) { javaLibraryNames := []string{ "android_stubs_current_exportable", "android_system_stubs_current_exportable", "android_test_stubs_current_exportable", "android_module_lib_stubs_current_exportable", "android_system_server_stubs_current_exportable", } for _, libraryName := range javaLibraryNames { props := libraryProps{} props.Name = proptools.StringPtr(libraryName) staticLib := libraryName + ".from-source" props.Static_libs = []string{staticLib} props.Defaults = []string{"android.jar_defaults"} props.Visibility = []string{"//visibility:public"} props.Is_stubs_module = proptools.BoolPtr(true) ctx.CreateModule(java.LibraryFactory, &props) } } func (a *CombinedApis) createInternalModules(ctx android.LoadHookContext) { bootclasspath := a.bootclasspath(ctx) system_server_classpath := a.systemServerClasspath(ctx) Loading @@ -562,12 +487,6 @@ func (a *CombinedApis) createInternalModules(ctx android.LoadHookContext) { createMergedAnnotationsFilegroups(ctx, bootclasspath, system_server_classpath) createPublicStubsSourceFilegroup(ctx, bootclasspath) createApiContributionDefaults(ctx, bootclasspath) createFullApiLibraries(ctx) createFullExportableApiLibraries(ctx) } func combinedApisModuleFactory() android.Module { Loading api/api_test.go +58 −53 Original line number Diff line number Diff line Loading @@ -52,6 +52,12 @@ func gatherRequiredDepsForTest() string { "core.current.stubs", "ext", "framework", "android_stubs_current", "android_system_stubs_current", "android_test_stubs_current", "android_test_frameworks_core_stubs_current", "android_module_lib_stubs_current", "android_system_server_stubs_current", "android_stubs_current.from-text", "android_system_stubs_current.from-text", "android_test_stubs_current.from-text", Loading Loading @@ -211,7 +217,6 @@ func TestCombinedApisDefaults(t *testing.T) { sdk_version: "core_current", annotations_enabled: true, } java_sdk_library { name: "framework-bar", srcs: ["a.java"], Loading test-mock/Android.bp +4 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,10 @@ java_sdk_library { compile_dex: true, default_to_stubs: true, dist_group: "android", // This module cannot generate stubs from the api signature files as stubs depends on the // private APIs, which are not visible in the api signature files. build_from_text_stub: false, } java_library { Loading Loading
api/Android.bp +6 −1 Original line number Diff line number Diff line Loading @@ -284,7 +284,7 @@ packages_to_document = [ // These are libs from framework-internal-utils that are required (i.e. being referenced) // from framework-non-updatable-sources. Add more here when there's a need. // DO NOT add the entire framework-internal-utils. It might cause unnecessary circular // dependencies gets bigger. // dependencies when the list gets bigger. android_non_updatable_stubs_libs = [ "android.hardware.cas-V1.2-java", "android.hardware.health-V1.0-java-constants", Loading Loading @@ -381,6 +381,11 @@ non_updatable_api_deps_on_modules = [ "sdk_system_current_android", ] java_defaults { name: "module-classpath-java-defaults", libs: non_updatable_api_deps_on_modules, } // Defaults with module APIs in the classpath (mostly from prebuilts). // Suitable for compiling android-non-updatable. stubs_defaults { Loading
api/StubLibraries.bp +29 −230 Original line number Diff line number Diff line Loading @@ -563,8 +563,12 @@ java_library { java_defaults { name: "android-non-updatable_from_text_defaults", defaults: ["android-non-updatable-stubs-libs-defaults"], static_libs: ["framework-res-package-jar"], libs: ["stub-annotations"], sdk_version: "none", system_modules: "none", previous_api: ":android.api.public.latest", } java_defaults { Loading @@ -582,10 +586,10 @@ java_api_library { "api-stubs-docs-non-updatable.api.contribution", ], defaults: ["android-non-updatable_everything_from_text_defaults"], full_api_surface_stub: "android_stubs_current.from-text", // Use full Android API not just the non-updatable API as the latter is incomplete // and can result in incorrect behavior. previous_api: ":android.api.combined.public.latest", libs: ["all-modules-public-stubs"], } java_api_library { Loading @@ -596,10 +600,10 @@ java_api_library { "system-api-stubs-docs-non-updatable.api.contribution", ], defaults: ["android-non-updatable_everything_from_text_defaults"], full_api_surface_stub: "android_system_stubs_current.from-text", // Use full Android API not just the non-updatable API as the latter is incomplete // and can result in incorrect behavior. previous_api: ":android.api.combined.system.latest", libs: ["all-modules-system-stubs"], } java_api_library { Loading @@ -611,10 +615,10 @@ java_api_library { "test-api-stubs-docs-non-updatable.api.contribution", ], defaults: ["android-non-updatable_everything_from_text_defaults"], full_api_surface_stub: "android_test_stubs_current.from-text", // Use full Android API not just the non-updatable API as the latter is incomplete // and can result in incorrect behavior. previous_api: ":android.api.combined.test.latest", libs: ["all-modules-system-stubs"], } java_api_library { Loading @@ -625,8 +629,10 @@ java_api_library { "system-api-stubs-docs-non-updatable.api.contribution", "module-lib-api-stubs-docs-non-updatable.api.contribution", ], defaults: ["android-non-updatable_everything_from_text_defaults"], full_api_surface_stub: "android_module_lib_stubs_current_full.from-text", defaults: [ "module-classpath-java-defaults", "android-non-updatable_everything_from_text_defaults", ], // Use full Android API not just the non-updatable API as the latter is incomplete // and can result in incorrect behavior. previous_api: ":android.api.combined.module-lib.latest", Loading @@ -644,14 +650,16 @@ java_api_library { "test-api-stubs-docs-non-updatable.api.contribution", "module-lib-api-stubs-docs-non-updatable.api.contribution", ], defaults: ["android-non-updatable_everything_from_text_defaults"], full_api_surface_stub: "android_test_module_lib_stubs_current.from-text", defaults: [ "module-classpath-java-defaults", "android-non-updatable_everything_from_text_defaults", ], // No need to specify previous_api as this is not used for compiling against. // This module is only used for hiddenapi, and other modules should not // depend on this module. visibility: ["//visibility:private"], libs: ["all-modules-system-stubs"], } java_defaults { Loading @@ -665,7 +673,7 @@ java_defaults { } java_library { name: "android_stubs_current.from-source", name: "android_stubs_current", static_libs: [ "all-modules-public-stubs", "android-non-updatable.stubs", Loading @@ -675,7 +683,7 @@ java_library { } java_library { name: "android_stubs_current_exportable.from-source", name: "android_stubs_current_exportable", static_libs: [ "all-modules-public-stubs-exportable", "android-non-updatable.stubs.exportable", Loading @@ -685,7 +693,7 @@ java_library { } java_library { name: "android_system_stubs_current.from-source", name: "android_system_stubs_current", static_libs: [ "all-modules-system-stubs", "android-non-updatable.stubs.system", Loading @@ -698,7 +706,7 @@ java_library { } java_library { name: "android_system_stubs_current_exportable.from-source", name: "android_system_stubs_current_exportable", static_libs: [ "all-modules-system-stubs-exportable", "android-non-updatable.stubs.exportable.system", Loading @@ -722,7 +730,7 @@ java_library { } java_library { name: "android_test_stubs_current.from-source", name: "android_test_stubs_current", static_libs: [ // Updatable modules do not have test APIs, but we want to include their SystemApis, like we // include the SystemApi of framework-non-updatable-sources. Loading @@ -739,7 +747,7 @@ java_library { } java_library { name: "android_test_stubs_current_exportable.from-source", name: "android_test_stubs_current_exportable", static_libs: [ // Updatable modules do not have test APIs, but we want to include their SystemApis, like we // include the SystemApi of framework-non-updatable-sources. Loading @@ -760,7 +768,7 @@ java_library { // This module does not need to be copied to dist java_library { name: "android_test_frameworks_core_stubs_current.from-source", name: "android_test_frameworks_core_stubs_current", static_libs: [ "all-updatable-modules-system-stubs", "android-non-updatable.stubs.test", Loading @@ -772,7 +780,7 @@ java_library { } java_library { name: "android_module_lib_stubs_current.from-source", name: "android_module_lib_stubs_current", defaults: [ "android.jar_defaults", ], Loading @@ -785,7 +793,7 @@ java_library { } java_library { name: "android_module_lib_stubs_current_exportable.from-source", name: "android_module_lib_stubs_current_exportable", defaults: [ "android.jar_defaults", "android_stubs_dists_default", Loading @@ -801,20 +809,20 @@ java_library { } java_library { name: "android_system_server_stubs_current.from-source", name: "android_system_server_stubs_current", defaults: [ "android.jar_defaults", ], srcs: [":services-non-updatable-stubs"], installable: false, static_libs: [ "android_module_lib_stubs_current.from-source", "android_module_lib_stubs_current", ], visibility: ["//frameworks/base/services"], } java_library { name: "android_system_server_stubs_current_exportable.from-source", name: "android_system_server_stubs_current_exportable", defaults: [ "android.jar_defaults", "android_stubs_dists_default", Loading @@ -822,7 +830,7 @@ java_library { srcs: [":services-non-updatable-stubs{.exportable}"], installable: false, static_libs: [ "android_module_lib_stubs_current_exportable.from-source", "android_module_lib_stubs_current_exportable", ], dist: { dir: "apistubs/android/system-server", Loading Loading @@ -897,215 +905,6 @@ java_genrule { }, } // // Java API defaults and libraries for single tree build // java_defaults { name: "stub-annotation-defaults", libs: [ "stub-annotations", ], static_libs: [ // stub annotations do not contribute to the API surfaces but are statically // linked in the stubs for API surfaces (see frameworks/base/StubLibraries.bp). // This is because annotation processors insist on loading the classes for any // annotations found, thus should exist inside android.jar. "private-stub-annotations-jar", ], is_stubs_module: true, } // Listing of API domains contribution and dependencies per API surfaces java_defaults { name: "android_test_stubs_current_contributions", api_surface: "test", api_contributions: [ "framework-virtualization.stubs.source.test.api.contribution", "framework-location.stubs.source.test.api.contribution", ], } java_defaults { name: "android_test_frameworks_core_stubs_current_contributions", api_surface: "test", api_contributions: [ "test-api-stubs-docs-non-updatable.api.contribution", ], } java_defaults { name: "android_module_lib_stubs_current_contributions", api_surface: "module-lib", api_contributions: [ "api-stubs-docs-non-updatable.api.contribution", "system-api-stubs-docs-non-updatable.api.contribution", "module-lib-api-stubs-docs-non-updatable.api.contribution", "art.module.public.api.stubs.source.api.contribution", "art.module.public.api.stubs.source.system.api.contribution", "art.module.public.api.stubs.source.module_lib.api.contribution", "i18n.module.public.api.stubs.source.api.contribution", "i18n.module.public.api.stubs.source.system.api.contribution", "i18n.module.public.api.stubs.source.module_lib.api.contribution", ], previous_api: ":android.api.combined.module-lib.latest", } // Java API library definitions per API surface java_api_library { name: "android_stubs_current.from-text", api_surface: "public", defaults: [ // This module is dynamically created at frameworks/base/api/api.go // instead of being written out, in order to minimize edits in the codebase // when there is a change in the list of modules. // that contributes to an api surface. "android_stubs_current_contributions", "stub-annotation-defaults", ], api_contributions: [ "api-stubs-docs-non-updatable.api.contribution", ], visibility: ["//visibility:public"], enable_validation: false, stubs_type: "everything", } java_api_library { name: "android_system_stubs_current.from-text", api_surface: "system", defaults: [ "android_stubs_current_contributions", "android_system_stubs_current_contributions", "stub-annotation-defaults", ], api_contributions: [ "api-stubs-docs-non-updatable.api.contribution", "system-api-stubs-docs-non-updatable.api.contribution", ], visibility: ["//visibility:public"], enable_validation: false, stubs_type: "everything", } java_api_library { name: "android_test_stubs_current.from-text", api_surface: "test", defaults: [ "android_stubs_current_contributions", "android_system_stubs_current_contributions", "android_test_stubs_current_contributions", "stub-annotation-defaults", ], api_contributions: [ "api-stubs-docs-non-updatable.api.contribution", "system-api-stubs-docs-non-updatable.api.contribution", "test-api-stubs-docs-non-updatable.api.contribution", ], visibility: ["//visibility:public"], enable_validation: false, stubs_type: "everything", } java_api_library { name: "android_test_frameworks_core_stubs_current.from-text", api_surface: "test", defaults: [ "android_stubs_current_contributions", "android_system_stubs_current_contributions", "android_test_frameworks_core_stubs_current_contributions", ], libs: [ "stub-annotations", ], api_contributions: [ "api-stubs-docs-non-updatable.api.contribution", "system-api-stubs-docs-non-updatable.api.contribution", ], enable_validation: false, stubs_type: "everything", } java_api_library { name: "android_module_lib_stubs_current_full.from-text", api_surface: "module-lib", defaults: [ "android_stubs_current_contributions", "android_system_stubs_current_contributions", "android_module_lib_stubs_current_contributions_full", ], libs: [ "stub-annotations", ], api_contributions: [ "api-stubs-docs-non-updatable.api.contribution", "system-api-stubs-docs-non-updatable.api.contribution", "module-lib-api-stubs-docs-non-updatable.api.contribution", ], visibility: ["//visibility:public"], enable_validation: false, stubs_type: "everything", } java_api_library { name: "android_module_lib_stubs_current.from-text", api_surface: "module-lib", defaults: [ "android_module_lib_stubs_current_contributions", ], libs: [ "android_module_lib_stubs_current_full.from-text", "stub-annotations", ], visibility: ["//visibility:public"], enable_validation: false, stubs_type: "everything", } java_api_library { name: "android_test_module_lib_stubs_current.from-text", api_surface: "module-lib", defaults: [ "android_stubs_current_contributions", "android_system_stubs_current_contributions", "android_test_stubs_current_contributions", "android_module_lib_stubs_current_contributions", ], libs: [ "android_module_lib_stubs_current_full.from-text", "stub-annotations", ], api_contributions: [ "test-api-stubs-docs-non-updatable.api.contribution", ], // This module is only used to build android-non-updatable.stubs.test_module_lib // and other modules should not depend on this module. visibility: [ "//visibility:private", ], enable_validation: false, stubs_type: "everything", } java_api_library { name: "android_system_server_stubs_current.from-text", api_surface: "system-server", api_contributions: [ "services-non-updatable-stubs.api.contribution", ], libs: [ "android_module_lib_stubs_current.from-text", "stub-annotations", ], static_libs: [ "android_module_lib_stubs_current.from-text", ], visibility: ["//visibility:public"], enable_validation: false, stubs_type: "everything", } //////////////////////////////////////////////////////////////////////// // api-versions.xml generation, for public and system. This API database // also contains the android.test.* APIs. Loading
api/api.go +0 −81 Original line number Diff line number Diff line Loading @@ -15,9 +15,7 @@ package api import ( "fmt" "sort" "strings" "github.com/google/blueprint/proptools" Loading Loading @@ -464,79 +462,6 @@ func createMergedTxts(ctx android.LoadHookContext, bootclasspath, system_server_ } } func createApiContributionDefaults(ctx android.LoadHookContext, modules []string) { defaultsSdkKinds := []android.SdkKind{ android.SdkPublic, android.SdkSystem, android.SdkModule, } for _, sdkKind := range defaultsSdkKinds { props := defaultsProps{} props.Name = proptools.StringPtr( sdkKind.DefaultJavaLibraryName() + "_contributions") if sdkKind == android.SdkModule { props.Name = proptools.StringPtr( sdkKind.DefaultJavaLibraryName() + "_contributions_full") } props.Api_surface = proptools.StringPtr(sdkKind.String()) apiSuffix := "" if sdkKind != android.SdkPublic { apiSuffix = "." + strings.ReplaceAll(sdkKind.String(), "-", "_") } props.Api_contributions = transformArray( modules, "", fmt.Sprintf(".stubs.source%s.api.contribution", apiSuffix)) props.Defaults_visibility = []string{"//visibility:public"} props.Previous_api = proptools.StringPtr(":android.api.combined." + sdkKind.String() + ".latest") ctx.CreateModule(java.DefaultsFactory, &props) } } func createFullApiLibraries(ctx android.LoadHookContext) { javaLibraryNames := []string{ "android_stubs_current", "android_system_stubs_current", "android_test_stubs_current", "android_test_frameworks_core_stubs_current", "android_module_lib_stubs_current", "android_system_server_stubs_current", } for _, libraryName := range javaLibraryNames { props := libraryProps{} props.Name = proptools.StringPtr(libraryName) staticLib := libraryName + ".from-source" if ctx.Config().BuildFromTextStub() { staticLib = libraryName + ".from-text" } props.Static_libs = []string{staticLib} props.Defaults = []string{"android.jar_defaults"} props.Visibility = []string{"//visibility:public"} props.Is_stubs_module = proptools.BoolPtr(true) ctx.CreateModule(java.LibraryFactory, &props) } } func createFullExportableApiLibraries(ctx android.LoadHookContext) { javaLibraryNames := []string{ "android_stubs_current_exportable", "android_system_stubs_current_exportable", "android_test_stubs_current_exportable", "android_module_lib_stubs_current_exportable", "android_system_server_stubs_current_exportable", } for _, libraryName := range javaLibraryNames { props := libraryProps{} props.Name = proptools.StringPtr(libraryName) staticLib := libraryName + ".from-source" props.Static_libs = []string{staticLib} props.Defaults = []string{"android.jar_defaults"} props.Visibility = []string{"//visibility:public"} props.Is_stubs_module = proptools.BoolPtr(true) ctx.CreateModule(java.LibraryFactory, &props) } } func (a *CombinedApis) createInternalModules(ctx android.LoadHookContext) { bootclasspath := a.bootclasspath(ctx) system_server_classpath := a.systemServerClasspath(ctx) Loading @@ -562,12 +487,6 @@ func (a *CombinedApis) createInternalModules(ctx android.LoadHookContext) { createMergedAnnotationsFilegroups(ctx, bootclasspath, system_server_classpath) createPublicStubsSourceFilegroup(ctx, bootclasspath) createApiContributionDefaults(ctx, bootclasspath) createFullApiLibraries(ctx) createFullExportableApiLibraries(ctx) } func combinedApisModuleFactory() android.Module { Loading
api/api_test.go +58 −53 Original line number Diff line number Diff line Loading @@ -52,6 +52,12 @@ func gatherRequiredDepsForTest() string { "core.current.stubs", "ext", "framework", "android_stubs_current", "android_system_stubs_current", "android_test_stubs_current", "android_test_frameworks_core_stubs_current", "android_module_lib_stubs_current", "android_system_server_stubs_current", "android_stubs_current.from-text", "android_system_stubs_current.from-text", "android_test_stubs_current.from-text", Loading Loading @@ -211,7 +217,6 @@ func TestCombinedApisDefaults(t *testing.T) { sdk_version: "core_current", annotations_enabled: true, } java_sdk_library { name: "framework-bar", srcs: ["a.java"], Loading
test-mock/Android.bp +4 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,10 @@ java_sdk_library { compile_dex: true, default_to_stubs: true, dist_group: "android", // This module cannot generate stubs from the api signature files as stubs depends on the // private APIs, which are not visible in the api signature files. build_from_text_stub: false, } java_library { Loading