summaryrefslogtreecommitdiff
path: root/services/core/Android.bp
blob: 7b0bc8f501d8de363a4158a5534548249cb83d79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
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"],
}

filegroup {
    name: "services.core-sources-am-wm",
    srcs: [
        "java/com/android/server/am/**/*.java",
        "java/com/android/server/wm/**/*.java",
    ],
    path: "java",
    visibility: ["//frameworks/base/services"],
}

filegroup {
    name: "services.core-sources",
    srcs: ["java/**/*.java"],
    exclude_srcs: [
        ":services.core-sources-am-wm",
    ],
    path: "java",
    visibility: [
        "//frameworks/base/services",
        "//frameworks/base/core/java/com/android/internal/protolog",
    ],
}

genrule {
    name: "services.core.protologsrc",
    srcs: [
        ":protolog-groups",
        ":services.core-sources-am-wm",
    ],
    tools: ["protologtool"],
    cmd: "$(location protologtool) transform-protolog-calls " +
        "--protolog-class com.android.internal.protolog.common.ProtoLog " +
        "--protolog-impl-class com.android.internal.protolog.ProtoLogImpl " +
        "--protolog-cache-class 'com.android.server.wm.ProtoLogCache' " +
        "--loggroups-class com.android.internal.protolog.ProtoLogGroup " +
        "--loggroups-jar $(location :protolog-groups) " +
        "--output-srcjar $(out) " +
        "$(locations :services.core-sources-am-wm)",
    out: ["services.core.protolog.srcjar"],
}

genrule {
    name: "generate-protolog.json",
    srcs: [
        ":protolog-groups",
        ":services.core-sources-am-wm",
    ],
    tools: ["protologtool"],
    cmd: "$(location protologtool) generate-viewer-config " +
        "--protolog-class com.android.internal.protolog.common.ProtoLog " +
        "--loggroups-class com.android.internal.protolog.ProtoLogGroup " +
        "--loggroups-jar $(location :protolog-groups) " +
        "--viewer-conf $(out) " +
        "$(locations :services.core-sources-am-wm)",
    out: ["services.core.protolog.json"],
}

genrule {
    name: "checked-protolog.json",
    srcs: [
        ":generate-protolog.json",
        ":services.core.protolog.json",
    ],
    cmd: "cp $(location :generate-protolog.json) $(out) && " +
        "{ ! (diff $(out) $(location :services.core.protolog.json) | grep -q '^<') || " +
        "{ echo -e '\\n\\n################################################################\\n#\\n" +
        "#  ERROR: ProtoLog viewer config is stale.  To update it, run:\\n#\\n" +
        "#  cp $${ANDROID_BUILD_TOP}/$(location :generate-protolog.json) " +
        "$${ANDROID_BUILD_TOP}/$(location :services.core.protolog.json)\\n#\\n" +
        "################################################################\\n\\n' >&2 && false; } }",
    out: ["services.core.protolog.json"],
}

genrule {
    name: "statslog-art-java-gen",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --java $(out) --module art" +
        " --javaPackage com.android.internal.art --javaClass ArtStatsLog --worksource",
    out: ["com/android/internal/art/ArtStatsLog.java"],
}

genrule {
    name: "statslog-contexthub-java-gen",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --java $(out) --module contexthub" +
        " --javaPackage com.android.server.location.contexthub --javaClass ContextHubStatsLog",
    out: ["com/android/server/location/contexthub/ContextHubStatsLog.java"],
}

java_library_static {
    name: "services.core.unboosted",
    defaults: [
        "platform_service_defaults",
        "android.hardware.power-java_static",
    ],
    srcs: [
        ":android.hardware.biometrics.face-V4-java-source",
        ":android.hardware.tv.hdmi.connection-V1-java-source",
        ":android.hardware.tv.hdmi.earc-V1-java-source",
        ":statslog-art-java-gen",
        ":statslog-contexthub-java-gen",
        ":services.core-sources",
        ":services.core.protologsrc",
        ":dumpstate_aidl",
        ":framework_native_aidl",
        ":gsiservice_aidl",
        ":installd_aidl",
        ":storaged_aidl",
        ":vold_aidl",
        ":platform-compat-config",
        ":platform-compat-overrides",
        ":display-device-config",
        ":display-layout-config",
        ":device-state-config",
        "java/com/android/server/EventLogTags.logtags",
        "java/com/android/server/am/EventLogTags.logtags",
        "java/com/android/server/wm/EventLogTags.logtags",
        "java/com/android/server/policy/EventLogTags.logtags",

        // Java/AIDL sources to be moved out to CrashRecovery module
        ":services-crashrecovery-sources",
    ],

    libs: [
        "services.net",
        "android.hardware.common-V2-java",
        "android.hardware.light-V2.0-java",
        "android.hardware.gnss-V2-java",
        "android.hardware.vibrator-V2-java",
        "app-compat-annotations",
        "framework-tethering.stubs.module_lib",
        "service-art.stubs.system_server",
        "service-permission.stubs.system_server",
        "service-rkp.stubs.system_server",
        "service-sdksandbox.stubs.system_server",
        "device_policy_aconfig_flags_lib",
    ],
    plugins: ["ImmutabilityAnnotationProcessor"],

    required: [
        "default_television.xml",
        "gps_debug.conf",
        "protolog.conf.json.gz",
    ],

    static_libs: [
        "android.frameworks.location.altitude-V1-java", // AIDL
        "android.frameworks.vibrator-V1-java", // AIDL
        "android.hardware.authsecret-V1.0-java",
        "android.hardware.authsecret-V1-java",
        "android.hardware.boot-V1.0-java", // HIDL
        "android.hardware.boot-V1.1-java", // HIDL
        "android.hardware.boot-V1.2-java", // HIDL
        "android.hardware.boot-V1-java", // AIDL
        "android.hardware.broadcastradio-V2.0-java", // HIDL
        "android.hardware.broadcastradio-V2-java", // AIDL
        "android.hardware.health-V1.0-java", // HIDL
        "android.hardware.health-V2.0-java", // HIDL
        "android.hardware.health-V2.1-java", // HIDL
        "android.hardware.health-V3-java", // AIDL
        "android.hardware.health-translate-java",
        "android.hardware.light-V1-java",
        "android.hardware.security.authgraph-V1-java",
        "android.hardware.security.rkp-V3-java",
        "android.hardware.security.secretkeeper-V1-java",
        "android.hardware.tv.cec-V1.1-java",
        "android.hardware.tv.hdmi.cec-V1-java",
        "android.hardware.tv.hdmi.connection-V1-java",
        "android.hardware.tv.hdmi.earc-V1-java",
        "android.hardware.weaver-V1.0-java",
        "android.hardware.weaver-V2-java",
        "android.hardware.biometrics.face-V1.0-java",
        "android.hardware.biometrics.fingerprint-V2.3-java",
        "android.hardware.oemlock-V1.0-java",
        "android.hardware.oemlock-V1-java",
        "android.hardware.configstore-V1.1-java",
        "android.hardware.ir-V1-java",
        "android.hardware.rebootescrow-V1-java",
        "android.hardware.power.stats-V2-java",
        "android.hidl.manager-V1.2-java",
        "cbor-java",
        "com.android.media.audio-aconfig-java",
        "dropbox_flags_lib",
        "icu4j_calendar_astronomer",
        "android.security.aaid_aidl-java",
        "netd-client",
        "overlayable_policy_aidl-java",
        "SurfaceFlingerProperties",
        "com.android.sysprop.watchdog",
        "securebox",
        "apache-commons-math",
        "backstage_power_flags_lib",
        "notification_flags_lib",
        "biometrics_flags_lib",
        "am_flags_lib",
        "com_android_systemui_shared_flags_lib",
        "com_android_wm_shell_flags_lib",
        "com.android.server.utils_aconfig-java",
        "service-jobscheduler-deviceidle.flags-aconfig-java",
        "net_flags_lib",
        "core_os_flags_lib",
        "connectivity_flags_lib",
    ],
    javac_shard_size: 50,
    javacflags: [
        "-J--add-modules=jdk.compiler",
        "-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",
        "-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED",
        "-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED",
        "-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
    ],
    lint: {
        baseline_filename: "lint-baseline.xml",
    },
}

java_genrule {
    name: "services.core.priorityboosted",
    srcs: [":services.core.unboosted"],
    tools: ["lockedregioncodeinjection"],
    cmd: "$(location lockedregioncodeinjection) " +
        "  --targets \"Lcom/android/server/am/ActivityManagerService;,Lcom/android/server/am/ActivityManagerGlobalLock;,Lcom/android/server/wm/WindowManagerGlobalLock;,Lcom/android/server/pm/PackageManagerTracedLock;\" " +
        "  --pre \"com/android/server/am/ActivityManagerService.boostPriorityForLockedSection,com/android/server/am/ActivityManagerService.boostPriorityForProcLockedSection,com/android/server/wm/WindowManagerService.boostPriorityForLockedSection,com/android/server/pm/PackageManagerService.boostPriorityForPackageManagerTracedLockedSection\" " +
        "  --post \"com/android/server/am/ActivityManagerService.resetPriorityAfterLockedSection,com/android/server/am/ActivityManagerService.resetPriorityAfterProcLockedSection,com/android/server/wm/WindowManagerService.resetPriorityAfterLockedSection,com/android/server/pm/PackageManagerService.resetPriorityAfterPackageManagerTracedLockedSection\" " +
        "  -o $(out) " +
        "  -i $(in)",
    out: ["services.core.priorityboosted.jar"],
}

java_library {
    name: "services.core",
    static_libs: ["services.core.priorityboosted"],
    lint: {
        baseline_filename: "lint-baseline.xml",
    },
}

java_library_host {
    name: "core_cts_test_resources",
    srcs: ["java/com/android/server/notification/SmallHash.java"],
}

prebuilt_etc {
    name: "gps_debug.conf",
    src: "java/com/android/server/location/gnss/gps_debug.conf",
}

genrule {
    name: "services.core.json.gz",
    srcs: [":checked-protolog.json"],
    out: ["services.core.protolog.json.gz"],
    cmd: "gzip -c < $(in) > $(out)",
}

prebuilt_etc {
    name: "protolog.conf.json.gz",
    src: ":services.core.json.gz",
}