public static String getMessageWithParsing()

in gradle-runner-agent/src/main/java/jetbrains/buildServer/gradle/runtime/output/TestOutputParser.java [22:46]


  public static String getMessageWithParsing(@NotNull String message, int maxLength) {
    if (message.length() <= maxLength) return message;

    // Find inner service messages and try not to split each message
    int start = message.indexOf(SERVICE_MESSAGE_START);
    if (start == -1 || start > maxLength) return message.substring(0, maxLength);

    int end = getEndMessage(message, start);
    if (end == -1) return message.substring(0, maxLength);
    if (end > maxLength) return message.substring(0, start > 0 ? start : maxLength);

    while (end < maxLength) {
      int newStart = message.indexOf(SERVICE_MESSAGE_START, end);
      if (newStart == -1 || newStart >= maxLength) return message.substring(0, maxLength);

      int newEnd = getEndMessage(message, newStart);
      if (newEnd == -1) return message.substring(0, maxLength);

      if (newEnd >= maxLength) return message.substring(0, newStart);

      end = newEnd;
    }

    return message.substring(0, end);
  }