blob: d80fa4f0dad45fd2cd386401dcf6fb8c16a7e579 [file] [log] [blame] [edit]
// Copyright (C) 2020 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package {
default_team: "trendy_team_android_permissions",
default_applicable_licenses: ["Android-Apache-2.0"],
}
filegroup {
name: "service-permission-java-sources",
srcs: [
"java/**/*.java",
"java/**/*.kt",
],
path: "java",
visibility: ["//visibility:private"],
}
java_library {
name: "service-permission-proto-stream",
proto: {
type: "stream",
include_dirs: [
"external/protobuf/src",
],
},
srcs: [
"proto/role_service.proto",
],
installable: false,
min_sdk_version: "30",
sdk_version: "system_server_current",
apex_available: [
"com.android.permission",
"test_com.android.permission",
],
}
java_library {
name: "service-permission-shared",
srcs: [":service-permission-shared-srcs"],
libs: [
"framework-annotations-lib",
],
static_libs: [
"framework-permission-s-shared",
],
apex_available: [
"com.android.permission",
"test_com.android.permission",
],
installable: false,
min_sdk_version: "30",
sdk_version: "system_server_current",
}
java_sdk_library {
name: "service-permission",
defaults: [
"framework-system-server-module-defaults",
"framework-system-server-module-optimize-defaults",
],
impl_library_visibility: [
"//frameworks/base/apex/permission/tests",
"//frameworks/base/services/tests/mockingservicestests",
"//frameworks/base/services/tests/PackageManagerServiceTests/server",
"//packages/modules/Permission/tests/apex",
],
srcs: [
":service-permission-java-sources",
],
libs: [
"androidx.annotation_annotation",
"framework-configinfrastructure",
// TODO(b/177884622): Short term solution to prevent service-permission from seeing hidden
// APIs in framework-permission, as we don't actually have any dependency in it.
//"framework-permission",
"framework-permission-s.impl",
"framework-permission-s-shared",
"framework-statsd.stubs.module_lib",
"jsr305",
// Soong fails to automatically add this dependency because all the
// *.kt sources are inside a filegroup.
"kotlin-annotations",
"safety-center-annotations",
],
static_libs: [
"kotlin-stdlib",
"modules-utils-backgroundthread",
"modules-utils-build",
"modules-utils-os",
"role-controller",
"safety-center-config",
"safety-center-internal-data",
"safety-center-pending-intents",
"safety-center-persistence",
"safety-center-resources-lib",
"service-permission-shared",
"service-permission-statsd",
"permissioncontroller-statsd",
"service-permission-proto-stream",
"com.android.permission.flags-aconfig-java",
],
errorprone: {
javacflags: ["-Xep:GuardedBy:ERROR"],
},
exclude_kotlinc_generated_files: true,
jarjar_rules: "jarjar-rules.txt",
kotlincflags: [
"-Werror",
"-Xjvm-default=all",
"-Xno-call-assertions",
"-Xno-param-assertions",
"-Xno-receiver-assertions",
],
lint: {
baseline_filename: "lint-baseline.xml",
},
min_sdk_version: "30",
sdk_version: "system_server_current",
apex_available: [
"com.android.permission",
"test_com.android.permission",
],
installable: true,
permitted_packages: [
"com.android.access",
"com.android.ecm",
"com.android.permission",
"com.android.role",
"com.android.safetycenter",
],
optimize: {
proguard_compatibility: false, // TODO(b/215530220): remove when this is default behavior
proguard_flags_files: ["proguard.flags"],
},
aconfig_declarations: [
"android.permission.flags-aconfig",
"com.android.permission.flags-aconfig",
],
}
genrule {
name: "statslog-service-permission-java-gen",
tools: ["stats-log-api-gen"],
cmd: "$(location stats-log-api-gen) --java $(out) --module permissioncontroller" +
" --javaPackage com.android.permission" +
" --javaClass PermissionStatsLog --minApiLevel 29",
out: ["com/android/permission/PermissionStatsLog.java"],
}
java_library {
name: "service-permission-statsd",
srcs: [
":statslog-service-permission-java-gen",
],
libs: [
"androidx.annotation_annotation",
"framework-statsd.stubs.module_lib",
],
apex_available: [
"com.android.permission",
],
min_sdk_version: "30",
sdk_version: "system_server_current",
}