BuildProgress<BuildProgressDescriptor> (@NotNull String title, @NotNull String message, @NotNull MessageEvent.Kind kind, @NotNull FilePosition filePosition) { StringBuilder fileLink = new StringBuilder(filePosition.getFile().getPath()); if (filePosition.getStartLine() > 0) { fileLink.append(":").append(filePosition.getStartLine() + 1); if (filePosition.getStartColumn() > 0) { fileLink.append(":").append(filePosition.getStartColumn() + 1); } } @NlsSafe String detailedMessage = fileLink.toString() + '\n' + message; FileMessageEventImpl event = new FileMessageEventImpl(getId(), kind, null, title, detailedMessage, filePosition); myListener.onEvent(getBuildId(), event); return this; }