blob: cab2b9964ab56fc5aac11a3b7051c50d885caa3e [file]
// Copyright (C) 2026 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
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"],
default_team: "trendy_team_multitasking_windowing",
}
filegroup {
name: "wm_shell-pip-sources",
srcs: [
"src/**/*.java",
],
path: "src",
}
// TODO(b/168581922) protologtool do not support kotlin(*.kt)
filegroup {
name: "wm_shell-pip-sources-kt",
srcs: [
"src/**/*.kt",
],
path: "src",
}
java_genrule {
name: "wm_shell_pip_protolog_src",
srcs: [
":protolog-impl",
":wm_shell-pip-sources",
":wm_shell_protolog-groups",
],
tools: [
"protologtool",
"soong_javac_wrapper",
],
cmd: "$(location protologtool) transform-protolog-calls " +
"--protolog-class com.android.internal.protolog.ProtoLog " +
"--loggroups-class com.android.wm.shell.protolog.ShellProtoLogGroup " +
"--loggroups-jar $(location :wm_shell_protolog-groups) " +
"--javac-wrapper-path $(location soong_javac_wrapper) " +
"--viewer-config-file-path /system_ext/etc/wmshell.protolog.pb " +
"--output-srcjar $(out) " +
"$(locations :wm_shell-pip-sources)",
out: ["wm_shell_pip_protolog.srcjar"],
}
java_defaults {
name: "WindowManager-Shell-Pip-defaults",
static_libs: [
"wm_shell_protolog-groups",
],
flags_packages: [
"com_android_wm_shell_flags",
],
kotlincflags: ["-Xjvm-default=all"],
manifest: "AndroidManifest.xml",
}
android_library {
name: "WindowManager-Shell-Pip",
defaults: ["WindowManager-Shell-Pip-defaults"],
srcs: [
// TODO(b/168581922) protologtool do not support kotlin(*.kt)
":wm_shell-pip-sources-kt",
":wm_shell_pip_protolog_src",
],
}
// A dedicated library to ensure WindowManager-Shell-Pip raw sources are linted in presubmit.
// (Android Lint ignores the generated .srcjars from `wm_shell_pip_protolog_src`, which hides
// ProtoLog validation errors in the main target).
android_library {
name: "WindowManager-Shell-Pip-untransformed",
defaults: ["WindowManager-Shell-Pip-defaults"],
srcs: [
":wm_shell-pip-sources-kt",
":wm_shell-pip-sources",
],
lint: {
extra_check_modules: [
"ProtoLogLintChecker",
],
},
}