• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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