void (BuildMessage msg) { String messageText; if (msg instanceof CompilerMessage) { CompilerMessage compilerMessage = (CompilerMessage) msg; if (compilerMessage.getSourcePath() == null) { messageText = msg.getMessageText(); } else if (compilerMessage.getLine() < 0) { messageText = compilerMessage.getSourcePath() + ": " + msg.getMessageText(); } else { messageText = compilerMessage.getSourcePath() + "(" + compilerMessage.getLine() + ":" + compilerMessage.getColumn() + "): " + msg.getMessageText(); } } else { messageText = msg.getMessageText(); } if (messageText.isEmpty()) return; if (msg.getKind() == BuildMessage.Kind.ERROR) { System.err.println("Error: " + messageText); hasErrors = true; } else if (msg.getKind() != BuildMessage.Kind.PROGRESS || !messageText.startsWith("Compiled") && !messageText.startsWith("Copying")) { System.out.println(messageText); } }