element-x-ada/plugins/src/main/kotlin/Logger.kt
Benoit Marty f61df38e55 Migrate license to AGPL.
Run script `uv run license-editor --repository ../element-x-android`
2024-09-06 17:19:19 +02:00

46 lines
1.1 KiB
Kotlin

/*
* Copyright 2024 New Vector Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only
* Please see LICENSE in the repository root for full details.
*/
import org.gradle.api.logging.Logger
import kotlin.math.max
fun Logger.warnInBox(
text: String,
minBoxWidth: Int = 80,
padding: Int = 4,
) {
val textLength = text.length
val boxWidth = max(textLength + 2, minBoxWidth)
val textPadding = max((boxWidth - textLength) / 2, 1)
warn(
buildString {
append(" ".repeat(padding))
append("")
append("".repeat(boxWidth))
append("")
}
)
warn(
buildString {
append(" ".repeat(padding))
append("")
append(" ".repeat(textPadding))
append(text)
append(" ".repeat(textPadding))
if (textLength % 2 == 1 && boxWidth == minBoxWidth) append(" ")
append("")
}
)
warn(
buildString {
append(" ".repeat(padding))
append("")
append("".repeat(boxWidth))
append("")
}
)
}