Merge "Add lint api database files for module and system server sdks" am: 1291b83a2f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2241594 Change-Id: If19b48c2c4636efdca19069e026eae49f840f68e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
47
ApiDocs.bp
47
ApiDocs.bp
@@ -122,17 +122,30 @@ droidstubs {
|
||||
}
|
||||
|
||||
droidstubs {
|
||||
name: "framework-doc-system-stubs",
|
||||
defaults: ["framework-doc-stubs-sources-default"],
|
||||
args: metalava_framework_docs_args +
|
||||
" --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.PRIVILEGED_APPS\\) ",
|
||||
api_levels_annotations_enabled: true,
|
||||
api_levels_annotations_dirs: [
|
||||
"sdk-dir",
|
||||
"api-versions-jars-dir",
|
||||
name: "android-non-updatable-doc-stubs-module-lib",
|
||||
defaults: [
|
||||
"android-non-updatable-doc-stubs-defaults",
|
||||
"module-classpath-stubs-defaults",
|
||||
],
|
||||
api_levels_sdk_type: "system",
|
||||
extensions_info_file: ":sdk-extensions-info",
|
||||
args: metalava_framework_docs_args +
|
||||
" --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.PRIVILEGED_APPS\\) " +
|
||||
" --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES\\) ",
|
||||
generate_stubs: false, // We're only using this module for the annotations.zip output, disable doc-stubs.
|
||||
write_sdk_values: false,
|
||||
}
|
||||
|
||||
droidstubs {
|
||||
name: "android-non-updatable-doc-stubs-system-server",
|
||||
defaults: [
|
||||
"android-non-updatable-doc-stubs-defaults",
|
||||
"module-classpath-stubs-defaults",
|
||||
],
|
||||
args: metalava_framework_docs_args +
|
||||
" --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.PRIVILEGED_APPS\\) " +
|
||||
" --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES\\) " +
|
||||
" --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.SYSTEM_SERVER\\) ",
|
||||
generate_stubs: false, // We're only using this module for the annotations.zip output, disable doc-stubs.
|
||||
write_sdk_values: false,
|
||||
}
|
||||
|
||||
droidstubs {
|
||||
@@ -150,6 +163,20 @@ droidstubs {
|
||||
extensions_info_file: ":sdk-extensions-info",
|
||||
}
|
||||
|
||||
droidstubs {
|
||||
name: "framework-doc-system-stubs",
|
||||
defaults: ["framework-doc-stubs-sources-default"],
|
||||
args: metalava_framework_docs_args +
|
||||
" --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.PRIVILEGED_APPS\\) ",
|
||||
api_levels_annotations_enabled: true,
|
||||
api_levels_annotations_dirs: [
|
||||
"sdk-dir",
|
||||
"api-versions-jars-dir",
|
||||
],
|
||||
api_levels_sdk_type: "system",
|
||||
extensions_info_file: ":sdk-extensions-info",
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// API docs are created from the generated stub source files
|
||||
// using droiddoc
|
||||
|
||||
@@ -411,6 +411,36 @@ java_library {
|
||||
],
|
||||
}
|
||||
|
||||
java_library {
|
||||
name: "android_module_stubs_current_with_test_libs",
|
||||
static_libs: [
|
||||
"android_module_lib_stubs_current",
|
||||
"android.test.base.stubs",
|
||||
"android.test.mock.stubs",
|
||||
"android.test.runner.stubs",
|
||||
],
|
||||
defaults: ["android.jar_defaults"],
|
||||
visibility: [
|
||||
"//visibility:override",
|
||||
"//visibility:private",
|
||||
],
|
||||
}
|
||||
|
||||
java_library {
|
||||
name: "android_system_server_stubs_current_with_test_libs",
|
||||
static_libs: [
|
||||
"android_system_server_stubs_current",
|
||||
"android.test.base.stubs.system",
|
||||
"android.test.mock.stubs.system",
|
||||
"android.test.runner.stubs.system",
|
||||
],
|
||||
defaults: ["android.jar_defaults"],
|
||||
visibility: [
|
||||
"//visibility:override",
|
||||
"//visibility:private",
|
||||
],
|
||||
}
|
||||
|
||||
droidstubs {
|
||||
name: "api_versions_public",
|
||||
srcs: [":android_stubs_current_with_test_libs{.jar}"],
|
||||
@@ -420,6 +450,7 @@ droidstubs {
|
||||
"sdk-dir",
|
||||
"api-versions-jars-dir",
|
||||
],
|
||||
api_levels_sdk_type: "public",
|
||||
extensions_info_file: ":sdk-extensions-info",
|
||||
}
|
||||
|
||||
@@ -436,6 +467,32 @@ droidstubs {
|
||||
extensions_info_file: ":sdk-extensions-info",
|
||||
}
|
||||
|
||||
droidstubs {
|
||||
name: "api_versions_module_lib",
|
||||
srcs: [":android_module_stubs_current_with_test_libs{.jar}"],
|
||||
generate_stubs: false,
|
||||
api_levels_annotations_enabled: true,
|
||||
api_levels_annotations_dirs: [
|
||||
"sdk-dir",
|
||||
"api-versions-jars-dir",
|
||||
],
|
||||
api_levels_sdk_type: "module-lib",
|
||||
extensions_info_file: ":sdk-extensions-info",
|
||||
}
|
||||
|
||||
droidstubs {
|
||||
name: "api_versions_system_server",
|
||||
srcs: [":android_system_server_stubs_current_with_test_libs{.jar}"],
|
||||
generate_stubs: false,
|
||||
api_levels_annotations_enabled: true,
|
||||
api_levels_annotations_dirs: [
|
||||
"sdk-dir",
|
||||
"api-versions-jars-dir",
|
||||
],
|
||||
api_levels_sdk_type: "system-server",
|
||||
extensions_info_file: ":sdk-extensions-info",
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// hwbinder.stubs provides APIs required for building HIDL Java
|
||||
// libraries.
|
||||
|
||||
@@ -207,6 +207,24 @@ genrule {
|
||||
],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "sdk-annotations-module-lib.zip",
|
||||
defaults: ["sdk-annotations-defaults"],
|
||||
srcs: [
|
||||
":android-non-updatable-doc-stubs-module-lib{.annotations.zip}",
|
||||
":all-modules-module-lib-annotations",
|
||||
],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "sdk-annotations-system-server.zip",
|
||||
defaults: ["sdk-annotations-defaults"],
|
||||
srcs: [
|
||||
":android-non-updatable-doc-stubs-system-server{.annotations.zip}",
|
||||
":all-modules-system-server-annotations",
|
||||
],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "combined-removed-dex",
|
||||
visibility: [
|
||||
|
||||
95
api/api.go
95
api/api.go
@@ -148,18 +148,35 @@ func createMergedStubsSrcjar(ctx android.LoadHookContext, modules []string) {
|
||||
ctx.CreateModule(genrule.GenRuleFactory, &props)
|
||||
}
|
||||
|
||||
func createMergedPublicAnnotationsFilegroup(ctx android.LoadHookContext, modules []string) {
|
||||
props := fgProps{}
|
||||
props.Name = proptools.StringPtr("all-modules-public-annotations")
|
||||
props.Srcs = createSrcs(modules, "{.public.annotations.zip}")
|
||||
ctx.CreateModule(android.FileGroupFactory, &props)
|
||||
}
|
||||
|
||||
func createMergedSystemAnnotationsFilegroup(ctx android.LoadHookContext, modules []string) {
|
||||
props := fgProps{}
|
||||
props.Name = proptools.StringPtr("all-modules-system-annotations")
|
||||
props.Srcs = createSrcs(modules, "{.system.annotations.zip}")
|
||||
ctx.CreateModule(android.FileGroupFactory, &props)
|
||||
func createMergedAnnotationsFilegroups(ctx android.LoadHookContext, modules, system_server_modules []string) {
|
||||
for _, i := range []struct{
|
||||
name string
|
||||
tag string
|
||||
modules []string
|
||||
}{
|
||||
{
|
||||
name: "all-modules-public-annotations",
|
||||
tag: "{.public.annotations.zip}",
|
||||
modules: modules,
|
||||
}, {
|
||||
name: "all-modules-system-annotations",
|
||||
tag: "{.system.annotations.zip}",
|
||||
modules: modules,
|
||||
}, {
|
||||
name: "all-modules-module-lib-annotations",
|
||||
tag: "{.module-lib.annotations.zip}",
|
||||
modules: modules,
|
||||
}, {
|
||||
name: "all-modules-system-server-annotations",
|
||||
tag: "{.system-server.annotations.zip}",
|
||||
modules: system_server_modules,
|
||||
},
|
||||
} {
|
||||
props := fgProps{}
|
||||
props.Name = proptools.StringPtr(i.name)
|
||||
props.Srcs = createSrcs(i.modules, i.tag)
|
||||
ctx.CreateModule(android.FileGroupFactory, &props)
|
||||
}
|
||||
}
|
||||
|
||||
func createFilteredApiVersions(ctx android.LoadHookContext, modules []string) {
|
||||
@@ -172,17 +189,43 @@ func createFilteredApiVersions(ctx android.LoadHookContext, modules []string) {
|
||||
// difficult to achieve.
|
||||
modules = remove(modules, art)
|
||||
|
||||
props := genruleProps{}
|
||||
props.Name = proptools.StringPtr("api-versions-xml-public-filtered")
|
||||
props.Tools = []string{"api_versions_trimmer"}
|
||||
props.Out = []string{"api-versions-public-filtered.xml"}
|
||||
props.Cmd = proptools.StringPtr("$(location api_versions_trimmer) $(out) $(in)")
|
||||
// Note: order matters: first parameter is the full api-versions.xml
|
||||
// after that the stubs files in any order
|
||||
// stubs files are all modules that export API surfaces EXCEPT ART
|
||||
props.Srcs = append([]string{":api_versions_public{.api_versions.xml}"}, createSrcs(modules, ".stubs{.jar}")...)
|
||||
props.Dists = []android.Dist{{Targets: []string{"sdk"}}}
|
||||
ctx.CreateModule(genrule.GenRuleFactory, &props)
|
||||
for _, i := range []struct{
|
||||
name string
|
||||
out string
|
||||
in string
|
||||
}{
|
||||
{
|
||||
// We shouldn't need public-filtered or system-filtered.
|
||||
// public-filtered is currently used to lint things that
|
||||
// use the module sdk or the system server sdk, but those
|
||||
// should be switched over to module-filtered and
|
||||
// system-server-filtered, and then public-filtered can
|
||||
// be removed.
|
||||
name: "api-versions-xml-public-filtered",
|
||||
out: "api-versions-public-filtered.xml",
|
||||
in: ":api_versions_public{.api_versions.xml}",
|
||||
}, {
|
||||
name: "api-versions-xml-module-lib-filtered",
|
||||
out: "api-versions-module-lib-filtered.xml",
|
||||
in: ":api_versions_module_lib{.api_versions.xml}",
|
||||
}, {
|
||||
name: "api-versions-xml-system-server-filtered",
|
||||
out: "api-versions-system-server-filtered.xml",
|
||||
in: ":api_versions_system_server{.api_versions.xml}",
|
||||
},
|
||||
} {
|
||||
props := genruleProps{}
|
||||
props.Name = proptools.StringPtr(i.name)
|
||||
props.Out = []string{i.out}
|
||||
// Note: order matters: first parameter is the full api-versions.xml
|
||||
// after that the stubs files in any order
|
||||
// stubs files are all modules that export API surfaces EXCEPT ART
|
||||
props.Srcs = append([]string{i.in}, createSrcs(modules, ".stubs{.jar}")...)
|
||||
props.Tools = []string{"api_versions_trimmer"}
|
||||
props.Cmd = proptools.StringPtr("$(location api_versions_trimmer) $(out) $(in)")
|
||||
props.Dists = []android.Dist{{Targets: []string{"sdk"}}}
|
||||
ctx.CreateModule(genrule.GenRuleFactory, &props)
|
||||
}
|
||||
}
|
||||
|
||||
func createMergedPublicStubs(ctx android.LoadHookContext, modules []string) {
|
||||
@@ -279,11 +322,12 @@ func createMergedTxts(ctx android.LoadHookContext, bootclasspath, system_server_
|
||||
|
||||
func (a *CombinedApis) createInternalModules(ctx android.LoadHookContext) {
|
||||
bootclasspath := a.properties.Bootclasspath
|
||||
system_server_classpath := a.properties.System_server_classpath
|
||||
if ctx.Config().VendorConfig("ANDROID").Bool("include_nonpublic_framework_api") {
|
||||
bootclasspath = append(bootclasspath, a.properties.Conditional_bootclasspath...)
|
||||
sort.Strings(bootclasspath)
|
||||
}
|
||||
createMergedTxts(ctx, bootclasspath, a.properties.System_server_classpath)
|
||||
createMergedTxts(ctx, bootclasspath, system_server_classpath)
|
||||
|
||||
createMergedStubsSrcjar(ctx, bootclasspath)
|
||||
|
||||
@@ -292,8 +336,7 @@ func (a *CombinedApis) createInternalModules(ctx android.LoadHookContext) {
|
||||
createMergedFrameworkModuleLibStubs(ctx, bootclasspath)
|
||||
createMergedFrameworkImpl(ctx, bootclasspath)
|
||||
|
||||
createMergedPublicAnnotationsFilegroup(ctx, bootclasspath)
|
||||
createMergedSystemAnnotationsFilegroup(ctx, bootclasspath)
|
||||
createMergedAnnotationsFilegroups(ctx, bootclasspath, system_server_classpath)
|
||||
|
||||
createFilteredApiVersions(ctx, bootclasspath)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user