Skip to content
Snippets Groups Projects
Commit 56ca66dd authored by Anton Hansson's avatar Anton Hansson
Browse files

Move shared module build rules to common repo

Keep the limited visibility rule in this Android.bp though, to avoid
the unwanted default of "public".

Test: m
Change-Id: I6e6d32eb7269411350cdd3f635d9c461edcfcb6f
parent 9dd63c57
No related branches found
No related tags found
No related merge requests found
......@@ -15,189 +15,3 @@
package {
default_visibility: [":__subpackages__"],
}
mainline_stubs_args =
"--error UnhiddenSystemApi " +
"--hide BroadcastBehavior " +
"--hide CallbackInterface " +
"--hide DeprecationMismatch " +
"--hide HiddenSuperclass " +
"--hide HiddenTypedefConstant " +
"--hide HiddenTypeParameter " +
"--hide MissingPermission " +
"--hide RequiresPermission " +
"--hide SdkConstant " +
"--hide Todo " +
"--hide Typo " +
"--hide UnavailableSymbol "
// TODO: modularize this so not every module has the same whitelist
framework_packages_to_document = [
"android",
"dalvik",
"java",
"javax",
"junit",
"org.apache.http",
"org.json",
"org.w3c.dom",
"org.xml.sax",
"org.xmlpull",
]
// TODO: remove the hiding when server classes are cleaned up.
mainline_framework_stubs_args =
mainline_stubs_args +
"--hide-package com.android.server "
priv_apps = " " +
"--show-annotation android.annotation.SystemApi\\(" +
"client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
"\\) "
module_libs = " " +
" --show-annotation android.annotation.SystemApi\\(" +
"client=android.annotation.SystemApi.Client.MODULE_LIBRARIES" +
"\\)" +
" --show-for-stub-purposes-annotation android.annotation.SystemApi\\(" +
"client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
"\\) "
mainline_service_stubs_args =
mainline_stubs_args +
"--show-annotation android.annotation.SystemApi\\(" +
"client=android.annotation.SystemApi.Client.SYSTEM_SERVER" +
"\\) " +
"--hide-annotation android.annotation.Hide " +
"--hide InternalClasses " // com.android.* classes are okay in this interface
// Defaults common to all mainline module java_sdk_library instances.
java_defaults {
name: "framework-module-common-defaults",
// Additional annotations used for compiling both the implementation and the
// stubs libraries.
libs: ["framework-annotations-lib"],
// Framework modules are not generally shared libraries, i.e. they are not
// intended, and must not be allowed, to be used in a <uses-library> manifest
// entry.
shared_library: false,
// Prevent dependencies that do not specify an sdk_version from accessing the
// implementation library by default and force them to use stubs instead.
default_to_stubs: true,
// Enable api lint. This will eventually become the default for java_sdk_library
// but it cannot yet be turned on because some usages have not been cleaned up.
// TODO(b/156126315) - Remove when no longer needed.
api_lint: {
enabled: true,
},
// The API scope specific properties.
public: {
enabled: true,
sdk_version: "module_current",
},
// installable implies we'll create a non-apex (platform) variant, which
// we shouldn't ordinarily need (and it can create issues), so disable that.
installable: false,
// Configure framework module specific metalava options.
droiddoc_options: [mainline_stubs_args],
annotations_enabled: true,
// Allow access to the stubs from anywhere
visibility: ["//visibility:public"],
stubs_library_visibility: ["//visibility:public"],
// Hide impl library and stub sources
impl_library_visibility: [
":__pkg__",
"//frameworks/base", // For framework-all
],
stubs_source_visibility: ["//visibility:private"],
defaults_visibility: ["//visibility:private"],
// Collates API usages from each module for further analysis.
plugins: ["java_api_finder"],
// Mainline modules should only rely on 'module_lib' APIs provided by other modules
// and the non updatable parts of the platform.
sdk_version: "module_current",
}
// Defaults for mainline module provided java_sdk_library instances.
java_defaults {
name: "framework-module-defaults",
defaults: ["framework-module-common-defaults"],
system: {
enabled: true,
sdk_version: "module_current",
},
module_lib: {
enabled: true,
sdk_version: "module_current",
},
defaults_visibility: [
":__subpackages__",
"//frameworks/base/libs/hwui",
"//frameworks/base/wifi",
"//packages/modules:__subpackages__",
"//packages/providers/MediaProvider:__subpackages__",
],
}
// Defaults for mainline module system server provided java_sdk_library instances.
java_defaults {
name: "framework-system-server-module-defaults",
defaults: ["framework-module-common-defaults"],
system_server: {
enabled: true,
sdk_version: "module_current",
},
defaults_visibility: [
":__subpackages__",
"//packages/modules:__subpackages__",
],
}
stubs_defaults {
name: "service-module-stubs-srcs-defaults",
args: mainline_service_stubs_args,
installable: false,
annotations_enabled: true,
merge_annotations_dirs: [
"metalava-manual",
],
filter_packages: ["com.android."],
check_api: {
current: {
api_file: "api/current.txt",
removed_api_file: "api/removed.txt",
},
api_lint: {
enabled: true,
},
},
dist: {
targets: ["sdk", "win_sdk"],
dir: "apistubs/android/system-server/api",
},
}
// Empty for now, but a convenient place to add rules for all
// module java_library system_server stub libs.
java_defaults {
name: "service-module-stubs-defaults",
dist: {
targets: ["sdk", "win_sdk"],
dir: "apistubs/android/system-server",
},
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment