1// Copyright (C) 2021 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-scheduling-sources",
21    srcs: [
22        "java/**/*.java",
23    ],
24}
25
26genrule {
27    name: "statslog-scheduling-java-gen",
28    tools: ["stats-log-api-gen"],
29    cmd: "$(location stats-log-api-gen) --java $(out) --module scheduling" +
30         " --javaPackage com.android.server.scheduling --javaClass SchedulingStatsLog" +
31         " --minApiLevel current",
32    out: ["com/android/server/scheduling/SchedulingStatsLog.java"],
33}
34
35
36java_library {
37    name: "scheduling-statsd",
38    sdk_version: "system_current",
39    min_sdk_version: "31",
40    srcs: [":statslog-scheduling-java-gen"],
41    apex_available: [
42        "com.android.scheduling",
43    ]
44}
45
46java_library {
47    name: "service-scheduling",
48    srcs: [
49        ":service-scheduling-sources",
50        ":reboot-stats-parser",
51    ],
52    min_sdk_version: "31",
53    defaults: [
54        "framework-system-server-module-defaults",
55        "standalone-system-server-module-optimize-defaults",
56    ],
57    sdk_version: "system_server_current",
58    libs: [
59        "framework-configinfrastructure",
60        "framework-scheduling.impl",
61        "framework-tethering.stubs.module_lib",
62        "unsupportedappusage",
63    ],
64    static_libs: [
65        "modules-utils-handlerexecutor",
66        "modules-utils-locallog",
67        "modules-utils-shell-command-handler",
68        "scheduling-statsd",
69    ],
70    jarjar_rules: ":scheduling-jarjar-rules",
71    apex_available: [
72        "com.android.scheduling",
73    ],
74    installable: true,
75}
76