override fun handle()

in plugin-bazel-event-service/src/main/kotlin/bazel/handlers/build/ProgressHandler.kt [11:40]


    override fun handle(ctx: BuildEventHandlerContext): Boolean {
        if (!ctx.event.hasProgress()) {
            return false
        }
        val progress = ctx.event.progress
        if (ctx.verbosity.atLeast(Verbosity.Normal) && progress.stdout.isNotBlank()) {
            ctx.writer.message(progress.stdout)
        }

        if (progress.stderr.isNotBlank()) {
            val decomposedMessages = decompose(progress.stderr)
            val mostSevereLevel =
                decomposedMessages
                    .map { it.level }
                    .maxByOrNull { it.value } ?: LogLevel.Normal

            for (errItem in decomposedMessages) {
                ctx.writer.run {
                    when (mostSevereLevel) {
                        LogLevel.Error -> error(errItem.text)
                        LogLevel.Warning -> warning(errItem.text)
                        LogLevel.Normal -> message(errItem.text)
                        LogLevel.Trace -> trace(errItem.text)
                    }
                }
            }
        }

        return true
    }