public void report()

in src/main/java/org/apache/maven/plugin/compiler/DiagnosticLogger.java [114:177]


    public void report(Diagnostic<? extends JavaFileObject> diagnostic) {
        String message = diagnostic.getMessage(locale);
        if (message == null || message.isBlank()) {
            return;
        }
        MessageBuilder record = messageBuilderFactory.builder();
        record.a(message);
        JavaFileObject source = diagnostic.getSource();
        Diagnostic.Kind kind = diagnostic.getKind();
        String style;
        switch (kind) {
            case ERROR:
                style = ".error:-bold,f:red";
                break;
            case MANDATORY_WARNING:
            case WARNING:
                style = ".warning:-bold,f:yellow";
                break;
            default:
                style = ".info:-bold,f:blue";
                if (diagnostic.getLineNumber() == Diagnostic.NOPOS) {
                    source = null; // Some messages are generic, e.g. "Recompile with -Xlint:deprecation".
                }
                break;
        }
        if (source != null) {
            record.newline().a("    at ").a(relativize(source.getName()));
            long line = diagnostic.getLineNumber();
            long column = diagnostic.getColumnNumber();
            if (line != Diagnostic.NOPOS || column != Diagnostic.NOPOS) {
                record.style(style).a('[');
                if (line != Diagnostic.NOPOS) {
                    record.a(line);
                }
                if (column != Diagnostic.NOPOS) {
                    record.a(',').a(column);
                }
                record.a(']').resetStyle();
            }
        }
        String log = record.toString();
        switch (kind) {
            case ERROR:
                if (firstError == null) {
                    firstError = message;
                }
                logger.error(log);
                numErrors++;
                break;
            case MANDATORY_WARNING:
            case WARNING:
                logger.warn(log);
                numWarnings++;
                break;
            default:
                logger.info(log);
                break;
        }
        // Statistics
        String code = diagnostic.getCode();
        if (code != null) {
            codeCount.merge(code, 1, (old, initial) -> old + 1);
        }
    }