| package { | |
| // See: http://go/android-license-faq | |
| // A large-scale-change added 'default_applicable_licenses' to import | |
| // all of the 'license_kinds' from "frameworks_base_license" | |
| // to get the below license kinds: | |
| // SPDX-license-identifier-Apache-2.0 | |
| default_applicable_licenses: ["frameworks_base_license"], | |
| } | |
| // Defaults for platform code that runs inside system_server | |
| java_defaults { | |
| name: "platform_service_defaults", | |
| plugins: ["error_prone_android_framework"], | |
| errorprone: { | |
| javacflags: [ | |
| "-Xep:AndroidFrameworkCompatChange:ERROR", | |
| // "-Xep:AndroidFrameworkUid:ERROR", | |
| "-Xep:SelfEquals:ERROR", | |
| "-Xep:NullTernary:ERROR", | |
| "-Xep:TryFailThrowable:ERROR", | |
| "-Xep:HashtableContains:ERROR", | |
| "-Xep:FormatString:ERROR", | |
| "-Xep:ArrayHashCode:ERROR", | |
| "-Xep:SelfAssignment:ERROR", | |
| "-Xep:ArrayEquals:ERROR", | |
| "-Xep:IdentityBinaryExpression:ERROR", | |
| // NOTE: only enable to generate local patchfiles | |
| // "-XepPatchChecks:refaster:frameworks/base/errorprone/refaster/EfficientXml.java.refaster", | |
| // "-XepPatchLocation:/tmp/refaster/", | |
| ], | |
| }, | |
| lint: { | |
| extra_check_modules: ["AndroidFrameworkLintChecker"], | |
| }, | |
| } | |
| // Opt-in config for optimizing and shrinking the services target using R8. | |
| // Enabled via `export SYSTEM_OPTIMIZE_JAVA=true`, or explicitly in Make via the | |
| // `SOONG_CONFIG_ANDROID_SYSTEM_OPTIMIZE_JAVA` variable. | |
| // TODO(b/196084106): Enable optimizations by default after stabilizing and | |
| // building out retrace infrastructure. | |
| soong_config_module_type { | |
| name: "system_optimized_java_defaults", | |
| module_type: "java_defaults", | |
| config_namespace: "ANDROID", | |
| bool_variables: ["SYSTEM_OPTIMIZE_JAVA"], | |
| properties: ["optimize"], | |
| } | |
| system_optimized_java_defaults { | |
| name: "services_java_defaults", | |
| soong_config_variables: { | |
| SYSTEM_OPTIMIZE_JAVA: { | |
| optimize: { | |
| enabled: true, | |
| // TODO(b/210510433): Enable optimizations after improving | |
| // retracing infra. | |
| optimize: false, | |
| shrink: true, | |
| proguard_flags_files: ["proguard.flags"], | |
| }, | |
| // Note: Optimizations are disabled by default if unspecified in | |
| // the java_library rule. | |
| conditions_default: {}, | |
| }, | |
| }, | |
| } | |
| filegroup { | |
| name: "services-main-sources", | |
| srcs: [ | |
| "java/**/*.java", | |
| "java/**/package.html", | |
| ], | |
| path: "java", | |
| visibility: ["//visibility:private"], | |
| } | |
| filegroup { | |
| name: "services-non-updatable-sources", | |
| srcs: [ | |
| ":services.core-sources", | |
| ":services.core-sources-am-wm", | |
| "core/java/com/android/server/am/package.html", | |
| ":services.accessibility-sources", | |
| ":services.appprediction-sources", | |
| ":services.appwidget-sources", | |
| ":services.autofill-sources", | |
| ":services.backup-sources", | |
| ":backuplib-sources", | |
| ":services.cloudsearch-sources", | |
| ":services.companion-sources", | |
| ":services.contentcapture-sources", | |
| ":services.contentsuggestions-sources", | |
| ":services.coverage-sources", | |
| ":services.devicepolicy-sources", | |
| ":services.midi-sources", | |
| ":services.musicsearch-sources", | |
| ":services.net-sources", | |
| ":services.print-sources", | |
| ":services.profcollect-sources", | |
| ":services.restrictions-sources", | |
| ":services.searchui-sources", | |
| ":services.selectiontoolbar-sources", | |
| ":services.smartspace-sources", | |
| ":services.systemcaptions-sources", | |
| ":services.translation-sources", | |
| ":services.texttospeech-sources", | |
| ":services.usage-sources", | |
| ":services.usb-sources", | |
| ":services.voiceinteraction-sources", | |
| ":services.wallpapereffectsgeneration-sources", | |
| ":services.wifi-sources", | |
| ], | |
| visibility: ["//visibility:private"], | |
| } | |
| java_library { | |
| name: "Slogf", | |
| srcs: ["core/java/com/android/server/utils/Slogf.java"], | |
| } | |
| // merge all required services into one jar | |
| // ============================================================ | |
| java_library { | |
| name: "services", | |
| defaults: ["services_java_defaults"], | |
| installable: true, | |
| dex_preopt: { | |
| app_image: true, | |
| profile: "art-profile", | |
| }, | |
| srcs: [":services-main-sources"], | |
| // The convention is to name each service module 'services.$(module_name)' | |
| static_libs: [ | |
| "services.core", | |
| "services.accessibility", | |
| "services.appprediction", | |
| "services.appwidget", | |
| "services.autofill", | |
| "services.backup", | |
| "services.cloudsearch", | |
| "services.companion", | |
| "services.contentcapture", | |
| "services.contentsuggestions", | |
| "services.coverage", | |
| "services.devicepolicy", | |
| "services.midi", | |
| "services.musicsearch", | |
| "services.net", | |
| "services.people", | |
| "services.print", | |
| "services.profcollect", | |
| "services.restrictions", | |
| "services.searchui", | |
| "services.selectiontoolbar", | |
| "services.smartspace", | |
| "services.systemcaptions", | |
| "services.translation", | |
| "services.texttospeech", | |
| "services.usage", | |
| "services.usb", | |
| "services.voiceinteraction", | |
| "services.wallpapereffectsgeneration", | |
| "services.wifi", | |
| "service-blobstore", | |
| "service-jobscheduler", | |
| "android.hidl.base-V1.0-java", | |
| ], | |
| libs: [ | |
| "android.hidl.manager-V1.0-java", | |
| "framework-tethering.stubs.module_lib", | |
| "service-art.stubs.system_server", | |
| ], | |
| // Uncomment to enable output of certain warnings (deprecated, unchecked) | |
| //javacflags: ["-Xlint"], | |
| } | |
| // native library | |
| // ============================================================= | |
| cc_library_shared { | |
| name: "libandroid_servers", | |
| defaults: ["libservices.core-libs"], | |
| whole_static_libs: ["libservices.core"], | |
| } | |
| platform_compat_config { | |
| name: "services-platform-compat-config", | |
| src: ":services", | |
| } | |
| filegroup { | |
| name: "art-profile", | |
| srcs: ["art-profile"], | |
| } | |
| // API stub | |
| // ============================================================= | |
| stubs_defaults { | |
| name: "services-stubs-default", | |
| installable: false, | |
| 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 | |
| // TODO: remove the --hide options below | |
| " --hide DeprecationMismatch" + | |
| " --hide HiddenTypedefConstant", | |
| visibility: ["//frameworks/base:__subpackages__"], | |
| filter_packages: ["com.android."], | |
| } | |
| droidstubs { | |
| name: "services-non-updatable-stubs", | |
| srcs: [":services-non-updatable-sources"], | |
| defaults: ["services-stubs-default"], | |
| check_api: { | |
| current: { | |
| api_file: "api/current.txt", | |
| removed_api_file: "api/removed.txt", | |
| }, | |
| api_lint: { | |
| enabled: true, | |
| new_since: ":android-non-updatable.api.system-server.latest", | |
| baseline_file: "api/lint-baseline.txt", | |
| }, | |
| }, | |
| dists: [ | |
| { | |
| targets: ["sdk"], | |
| dir: "apistubs/android/system-server/api", | |
| dest: "android-non-updatable.txt", | |
| tag: ".api.txt", | |
| }, | |
| { | |
| targets: ["sdk"], | |
| dir: "apistubs/android/system-server/api", | |
| dest: "android-non-updatable-removed.txt", | |
| tag: ".removed-api.txt", | |
| }, | |
| ], | |
| } |