1// Copyright (C) 2020 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15package { 16 default_applicable_licenses: ["Android-Apache-2.0"], 17} 18 19filegroup { 20 name: "service-permission-java-sources", 21 srcs: [ 22 "java/**/*.java", 23 "java/**/*.kt", 24 ], 25 path: "java", 26 visibility: ["//visibility:private"], 27} 28 29java_library { 30 name: "service-permission-proto-stream", 31 proto: { 32 type: "stream", 33 include_dirs: [ 34 "external/protobuf/src", 35 ], 36 }, 37 srcs: [ 38 "proto/role_service.proto", 39 ], 40 installable: false, 41 min_sdk_version: "30", 42 sdk_version: "system_server_current", 43 apex_available: [ 44 "com.android.permission", 45 "test_com.android.permission", 46 ], 47} 48 49java_library { 50 name: "service-permission-shared", 51 srcs: [":service-permission-shared-srcs"], 52 libs: [ 53 "framework-annotations-lib", 54 ], 55 static_libs: [ 56 "framework-permission-s-shared", 57 ], 58 apex_available: [ 59 "com.android.permission", 60 "test_com.android.permission", 61 ], 62 installable: false, 63 min_sdk_version: "30", 64 sdk_version: "system_server_current", 65} 66 67java_sdk_library { 68 name: "service-permission", 69 defaults: [ 70 "framework-system-server-module-defaults", 71 "framework-system-server-module-optimize-defaults", 72 ], 73 impl_library_visibility: [ 74 "//frameworks/base/apex/permission/tests", 75 "//frameworks/base/services/tests/mockingservicestests", 76 "//frameworks/base/services/tests/PackageManagerServiceTests/server", 77 "//packages/modules/Permission/tests/apex", 78 ], 79 srcs: [ 80 ":service-permission-java-sources", 81 ], 82 libs: [ 83 "androidx.annotation_annotation", 84 "framework-configinfrastructure", 85 // TODO(b/177884622): Short term solution to prevent service-permission from seeing hidden 86 // APIs in framework-permission, as we don't actually have any dependency in it. 87 //"framework-permission", 88 "framework-permission-s.impl", 89 "framework-permission-s-shared", 90 "framework-statsd.stubs.module_lib", 91 "jsr305", 92 93 // Soong fails to automatically add this dependency because all the 94 // *.kt sources are inside a filegroup. 95 "kotlin-annotations", 96 "safety-center-annotations", 97 ], 98 static_libs: [ 99 "kotlin-stdlib", 100 "modules-utils-backgroundthread", 101 "modules-utils-build", 102 "modules-utils-os", 103 "safety-center-config", 104 "safety-center-internal-data", 105 "safety-center-pending-intents", 106 "safety-center-persistence", 107 "safety-center-resources-lib", 108 "service-permission-shared", 109 "service-permission-statsd", 110 "service-permission-proto-stream", 111 ], 112 errorprone: { 113 javacflags: ["-Xep:GuardedBy:ERROR"], 114 }, 115 exclude_kotlinc_generated_files: true, 116 jarjar_rules: "jarjar-rules.txt", 117 kotlincflags: [ 118 "-Werror", 119 "-Xjvm-default=all", 120 "-Xno-call-assertions", 121 "-Xno-param-assertions", 122 "-Xno-receiver-assertions", 123 ], 124 lint: { 125 strict_updatability_linting: true, 126 }, 127 min_sdk_version: "30", 128 sdk_version: "system_server_current", 129 apex_available: [ 130 "com.android.permission", 131 "test_com.android.permission", 132 ], 133 installable: true, 134 permitted_packages: [ 135 "com.android.access", 136 "com.android.permission", 137 "com.android.role", 138 "com.android.safetycenter", 139 ], 140} 141 142genrule { 143 name: "statslog-service-permission-java-gen", 144 tools: ["stats-log-api-gen"], 145 cmd: "$(location stats-log-api-gen) --java $(out) --module permissioncontroller" + 146 " --javaPackage com.android.permission" + 147 " --javaClass PermissionStatsLog --minApiLevel 29", 148 out: ["com/android/permission/PermissionStatsLog.java"], 149} 150 151java_library { 152 name: "service-permission-statsd", 153 srcs: [ 154 ":statslog-service-permission-java-gen", 155 ], 156 libs: [ 157 "framework-statsd.stubs.module_lib", 158 ], 159 apex_available: [ 160 "com.android.permission", 161 ], 162 min_sdk_version: "30", 163 sdk_version: "system_server_current", 164} 165