1*d57664e9SAndroid Build Coastguard Worker// Copyright (C) 2019 The Android Open Source Project 2*d57664e9SAndroid Build Coastguard Worker// 3*d57664e9SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d57664e9SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d57664e9SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d57664e9SAndroid Build Coastguard Worker// 7*d57664e9SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d57664e9SAndroid Build Coastguard Worker// 9*d57664e9SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d57664e9SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d57664e9SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d57664e9SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d57664e9SAndroid Build Coastguard Worker// limitations under the License. 14*d57664e9SAndroid Build Coastguard Worker 15*d57664e9SAndroid Build Coastguard Workerpackage { 16*d57664e9SAndroid Build Coastguard Worker // See: http://go/android-license-faq 17*d57664e9SAndroid Build Coastguard Worker // A large-scale-change added 'default_applicable_licenses' to import 18*d57664e9SAndroid Build Coastguard Worker // all of the 'license_kinds' from "frameworks_base_license" 19*d57664e9SAndroid Build Coastguard Worker // to get the below license kinds: 20*d57664e9SAndroid Build Coastguard Worker // SPDX-license-identifier-Apache-2.0 21*d57664e9SAndroid Build Coastguard Worker default_applicable_licenses: ["frameworks_base_license"], 22*d57664e9SAndroid Build Coastguard Worker default_team: "trendy_team_multitasking_windowing", 23*d57664e9SAndroid Build Coastguard Worker} 24*d57664e9SAndroid Build Coastguard Worker 25*d57664e9SAndroid Build Coastguard Worker// Begin ProtoLog 26*d57664e9SAndroid Build Coastguard Workerjava_library { 27*d57664e9SAndroid Build Coastguard Worker name: "wm_shell_protolog-groups", 28*d57664e9SAndroid Build Coastguard Worker srcs: [ 29*d57664e9SAndroid Build Coastguard Worker "src/com/android/wm/shell/protolog/ShellProtoLogGroup.java", 30*d57664e9SAndroid Build Coastguard Worker ":protolog-common-src", 31*d57664e9SAndroid Build Coastguard Worker ], 32*d57664e9SAndroid Build Coastguard Worker} 33*d57664e9SAndroid Build Coastguard Worker 34*d57664e9SAndroid Build Coastguard Workerfilegroup { 35*d57664e9SAndroid Build Coastguard Worker name: "wm_shell-sources", 36*d57664e9SAndroid Build Coastguard Worker srcs: [ 37*d57664e9SAndroid Build Coastguard Worker "src/**/*.java", 38*d57664e9SAndroid Build Coastguard Worker ], 39*d57664e9SAndroid Build Coastguard Worker path: "src", 40*d57664e9SAndroid Build Coastguard Worker} 41*d57664e9SAndroid Build Coastguard Worker 42*d57664e9SAndroid Build Coastguard Worker// Aidls which can be used directly downstream of this library 43*d57664e9SAndroid Build Coastguard Workerfilegroup { 44*d57664e9SAndroid Build Coastguard Worker name: "wm_shell-aidls", 45*d57664e9SAndroid Build Coastguard Worker srcs: [ 46*d57664e9SAndroid Build Coastguard Worker "src/**/*.aidl", 47*d57664e9SAndroid Build Coastguard Worker ], 48*d57664e9SAndroid Build Coastguard Worker path: "src", 49*d57664e9SAndroid Build Coastguard Worker} 50*d57664e9SAndroid Build Coastguard Worker 51*d57664e9SAndroid Build Coastguard Worker// TODO(b/168581922) protologtool do not support kotlin(*.kt) 52*d57664e9SAndroid Build Coastguard Workerfilegroup { 53*d57664e9SAndroid Build Coastguard Worker name: "wm_shell-sources-kt", 54*d57664e9SAndroid Build Coastguard Worker srcs: [ 55*d57664e9SAndroid Build Coastguard Worker "src/**/*.kt", 56*d57664e9SAndroid Build Coastguard Worker ], 57*d57664e9SAndroid Build Coastguard Worker path: "src", 58*d57664e9SAndroid Build Coastguard Worker} 59*d57664e9SAndroid Build Coastguard Worker 60*d57664e9SAndroid Build Coastguard Workerjava_genrule { 61*d57664e9SAndroid Build Coastguard Worker name: "wm_shell_protolog_src", 62*d57664e9SAndroid Build Coastguard Worker srcs: [ 63*d57664e9SAndroid Build Coastguard Worker ":protolog-impl", 64*d57664e9SAndroid Build Coastguard Worker ":wm_shell_protolog-groups", 65*d57664e9SAndroid Build Coastguard Worker ":wm_shell-sources", 66*d57664e9SAndroid Build Coastguard Worker ], 67*d57664e9SAndroid Build Coastguard Worker tools: ["protologtool"], 68*d57664e9SAndroid Build Coastguard Worker cmd: "$(location protologtool) transform-protolog-calls " + 69*d57664e9SAndroid Build Coastguard Worker "--protolog-class com.android.internal.protolog.ProtoLog " + 70*d57664e9SAndroid Build Coastguard Worker "--loggroups-class com.android.wm.shell.protolog.ShellProtoLogGroup " + 71*d57664e9SAndroid Build Coastguard Worker "--loggroups-jar $(location :wm_shell_protolog-groups) " + 72*d57664e9SAndroid Build Coastguard Worker "--viewer-config-file-path /system_ext/etc/wmshell.protolog.pb " + 73*d57664e9SAndroid Build Coastguard Worker "--legacy-viewer-config-file-path /system_ext/etc/wmshell.protolog.json.gz " + 74*d57664e9SAndroid Build Coastguard Worker "--legacy-output-file-path /data/misc/wmtrace/shell_log.winscope " + 75*d57664e9SAndroid Build Coastguard Worker "--output-srcjar $(out) " + 76*d57664e9SAndroid Build Coastguard Worker "$(locations :wm_shell-sources)", 77*d57664e9SAndroid Build Coastguard Worker out: ["wm_shell_protolog.srcjar"], 78*d57664e9SAndroid Build Coastguard Worker} 79*d57664e9SAndroid Build Coastguard Worker 80*d57664e9SAndroid Build Coastguard Workerjava_genrule { 81*d57664e9SAndroid Build Coastguard Worker name: "generate-wm_shell_protolog.json", 82*d57664e9SAndroid Build Coastguard Worker srcs: [ 83*d57664e9SAndroid Build Coastguard Worker ":wm_shell_protolog-groups", 84*d57664e9SAndroid Build Coastguard Worker ":wm_shell-sources", 85*d57664e9SAndroid Build Coastguard Worker ], 86*d57664e9SAndroid Build Coastguard Worker tools: ["protologtool"], 87*d57664e9SAndroid Build Coastguard Worker cmd: "$(location protologtool) generate-viewer-config " + 88*d57664e9SAndroid Build Coastguard Worker "--protolog-class com.android.internal.protolog.ProtoLog " + 89*d57664e9SAndroid Build Coastguard Worker "--loggroups-class com.android.wm.shell.protolog.ShellProtoLogGroup " + 90*d57664e9SAndroid Build Coastguard Worker "--loggroups-jar $(location :wm_shell_protolog-groups) " + 91*d57664e9SAndroid Build Coastguard Worker "--viewer-config-type json " + 92*d57664e9SAndroid Build Coastguard Worker "--viewer-config $(out) " + 93*d57664e9SAndroid Build Coastguard Worker "$(locations :wm_shell-sources)", 94*d57664e9SAndroid Build Coastguard Worker out: ["wm_shell_protolog.json"], 95*d57664e9SAndroid Build Coastguard Worker} 96*d57664e9SAndroid Build Coastguard Worker 97*d57664e9SAndroid Build Coastguard Workerjava_genrule { 98*d57664e9SAndroid Build Coastguard Worker name: "gen-wmshell.protolog.pb", 99*d57664e9SAndroid Build Coastguard Worker srcs: [ 100*d57664e9SAndroid Build Coastguard Worker ":wm_shell_protolog-groups", 101*d57664e9SAndroid Build Coastguard Worker ":wm_shell-sources", 102*d57664e9SAndroid Build Coastguard Worker ], 103*d57664e9SAndroid Build Coastguard Worker tools: ["protologtool"], 104*d57664e9SAndroid Build Coastguard Worker cmd: "$(location protologtool) generate-viewer-config " + 105*d57664e9SAndroid Build Coastguard Worker "--protolog-class com.android.internal.protolog.ProtoLog " + 106*d57664e9SAndroid Build Coastguard Worker "--loggroups-class com.android.wm.shell.protolog.ShellProtoLogGroup " + 107*d57664e9SAndroid Build Coastguard Worker "--loggroups-jar $(location :wm_shell_protolog-groups) " + 108*d57664e9SAndroid Build Coastguard Worker "--viewer-config-type proto " + 109*d57664e9SAndroid Build Coastguard Worker "--viewer-config $(out) " + 110*d57664e9SAndroid Build Coastguard Worker "$(locations :wm_shell-sources)", 111*d57664e9SAndroid Build Coastguard Worker out: ["wmshell.protolog.pb"], 112*d57664e9SAndroid Build Coastguard Worker} 113*d57664e9SAndroid Build Coastguard Worker 114*d57664e9SAndroid Build Coastguard Workerjava_genrule { 115*d57664e9SAndroid Build Coastguard Worker name: "protolog.json.gz", 116*d57664e9SAndroid Build Coastguard Worker srcs: [":generate-wm_shell_protolog.json"], 117*d57664e9SAndroid Build Coastguard Worker out: ["wmshell.protolog.json.gz"], 118*d57664e9SAndroid Build Coastguard Worker cmd: "gzip -c < $(in) > $(out)", 119*d57664e9SAndroid Build Coastguard Worker} 120*d57664e9SAndroid Build Coastguard Worker 121*d57664e9SAndroid Build Coastguard Workerprebuilt_etc { 122*d57664e9SAndroid Build Coastguard Worker name: "wmshell.protolog.json.gz", 123*d57664e9SAndroid Build Coastguard Worker system_ext_specific: true, 124*d57664e9SAndroid Build Coastguard Worker src: ":protolog.json.gz", 125*d57664e9SAndroid Build Coastguard Worker filename_from_src: true, 126*d57664e9SAndroid Build Coastguard Worker} 127*d57664e9SAndroid Build Coastguard Worker 128*d57664e9SAndroid Build Coastguard Workerprebuilt_etc { 129*d57664e9SAndroid Build Coastguard Worker name: "wmshell.protolog.pb", 130*d57664e9SAndroid Build Coastguard Worker system_ext_specific: true, 131*d57664e9SAndroid Build Coastguard Worker src: ":gen-wmshell.protolog.pb", 132*d57664e9SAndroid Build Coastguard Worker filename_from_src: true, 133*d57664e9SAndroid Build Coastguard Worker} 134*d57664e9SAndroid Build Coastguard Worker 135*d57664e9SAndroid Build Coastguard Worker// End ProtoLog 136*d57664e9SAndroid Build Coastguard Worker 137*d57664e9SAndroid Build Coastguard Workerjava_library { 138*d57664e9SAndroid Build Coastguard Worker name: "WindowManager-Shell-proto", 139*d57664e9SAndroid Build Coastguard Worker 140*d57664e9SAndroid Build Coastguard Worker srcs: ["proto/*.proto"], 141*d57664e9SAndroid Build Coastguard Worker 142*d57664e9SAndroid Build Coastguard Worker proto: { 143*d57664e9SAndroid Build Coastguard Worker type: "nano", 144*d57664e9SAndroid Build Coastguard Worker }, 145*d57664e9SAndroid Build Coastguard Worker} 146*d57664e9SAndroid Build Coastguard Worker 147*d57664e9SAndroid Build Coastguard Workerjava_library { 148*d57664e9SAndroid Build Coastguard Worker name: "WindowManager-Shell-lite-proto", 149*d57664e9SAndroid Build Coastguard Worker 150*d57664e9SAndroid Build Coastguard Worker srcs: [ 151*d57664e9SAndroid Build Coastguard Worker "src/com/android/wm/shell/desktopmode/education/data/proto/**/*.proto", 152*d57664e9SAndroid Build Coastguard Worker "src/com/android/wm/shell/desktopmode/persistence/*.proto", 153*d57664e9SAndroid Build Coastguard Worker ], 154*d57664e9SAndroid Build Coastguard Worker proto: { 155*d57664e9SAndroid Build Coastguard Worker type: "lite", 156*d57664e9SAndroid Build Coastguard Worker }, 157*d57664e9SAndroid Build Coastguard Worker} 158*d57664e9SAndroid Build Coastguard Worker 159*d57664e9SAndroid Build Coastguard Workerandroid_library { 160*d57664e9SAndroid Build Coastguard Worker name: "WindowManager-Shell", 161*d57664e9SAndroid Build Coastguard Worker srcs: [ 162*d57664e9SAndroid Build Coastguard Worker "src/com/android/wm/shell/EventLogTags.logtags", 163*d57664e9SAndroid Build Coastguard Worker ":wm_shell_protolog_src", 164*d57664e9SAndroid Build Coastguard Worker // TODO(b/168581922) protologtool do not support kotlin(*.kt) 165*d57664e9SAndroid Build Coastguard Worker ":wm_shell-sources-kt", 166*d57664e9SAndroid Build Coastguard Worker ":wm_shell-aidls", 167*d57664e9SAndroid Build Coastguard Worker ":wm_shell-shared-aidls", 168*d57664e9SAndroid Build Coastguard Worker ], 169*d57664e9SAndroid Build Coastguard Worker resource_dirs: [ 170*d57664e9SAndroid Build Coastguard Worker "res", 171*d57664e9SAndroid Build Coastguard Worker ], 172*d57664e9SAndroid Build Coastguard Worker static_libs: [ 173*d57664e9SAndroid Build Coastguard Worker "androidx.appcompat_appcompat", 174*d57664e9SAndroid Build Coastguard Worker "androidx.core_core-ktx", 175*d57664e9SAndroid Build Coastguard Worker "androidx.arch.core_core-runtime", 176*d57664e9SAndroid Build Coastguard Worker "androidx.datastore_datastore", 177*d57664e9SAndroid Build Coastguard Worker "androidx.compose.material3_material3", 178*d57664e9SAndroid Build Coastguard Worker "androidx-constraintlayout_constraintlayout", 179*d57664e9SAndroid Build Coastguard Worker "androidx.dynamicanimation_dynamicanimation", 180*d57664e9SAndroid Build Coastguard Worker "androidx.recyclerview_recyclerview", 181*d57664e9SAndroid Build Coastguard Worker "kotlinx-coroutines-android", 182*d57664e9SAndroid Build Coastguard Worker "kotlinx-coroutines-core", 183*d57664e9SAndroid Build Coastguard Worker "//frameworks/libs/systemui:com_android_systemui_shared_flags_lib", 184*d57664e9SAndroid Build Coastguard Worker "//frameworks/libs/systemui:iconloader_base", 185*d57664e9SAndroid Build Coastguard Worker "com_android_launcher3_flags_lib", 186*d57664e9SAndroid Build Coastguard Worker "com_android_wm_shell_flags_lib", 187*d57664e9SAndroid Build Coastguard Worker "PlatformAnimationLib", 188*d57664e9SAndroid Build Coastguard Worker "WindowManager-Shell-proto", 189*d57664e9SAndroid Build Coastguard Worker "WindowManager-Shell-lite-proto", 190*d57664e9SAndroid Build Coastguard Worker "WindowManager-Shell-shared", 191*d57664e9SAndroid Build Coastguard Worker "perfetto_trace_java_protos", 192*d57664e9SAndroid Build Coastguard Worker "dagger2", 193*d57664e9SAndroid Build Coastguard Worker "jsr330", 194*d57664e9SAndroid Build Coastguard Worker ], 195*d57664e9SAndroid Build Coastguard Worker libs: [ 196*d57664e9SAndroid Build Coastguard Worker // Soong fails to automatically add this dependency because all the 197*d57664e9SAndroid Build Coastguard Worker // *.kt sources are inside a filegroup. 198*d57664e9SAndroid Build Coastguard Worker "kotlin-annotations", 199*d57664e9SAndroid Build Coastguard Worker ], 200*d57664e9SAndroid Build Coastguard Worker flags_packages: [ 201*d57664e9SAndroid Build Coastguard Worker "com_android_wm_shell_flags", 202*d57664e9SAndroid Build Coastguard Worker ], 203*d57664e9SAndroid Build Coastguard Worker kotlincflags: ["-Xjvm-default=all"], 204*d57664e9SAndroid Build Coastguard Worker manifest: "AndroidManifest.xml", 205*d57664e9SAndroid Build Coastguard Worker plugins: ["dagger2-compiler"], 206*d57664e9SAndroid Build Coastguard Worker use_resource_processor: true, 207*d57664e9SAndroid Build Coastguard Worker} 208*d57664e9SAndroid Build Coastguard Worker 209*d57664e9SAndroid Build Coastguard Workerjava_defaults { 210*d57664e9SAndroid Build Coastguard Worker name: "wmshell_defaults", 211*d57664e9SAndroid Build Coastguard Worker required: [ 212*d57664e9SAndroid Build Coastguard Worker "wmshell.protolog.json.gz", 213*d57664e9SAndroid Build Coastguard Worker "wmshell.protolog.pb", 214*d57664e9SAndroid Build Coastguard Worker ], 215*d57664e9SAndroid Build Coastguard Worker} 216