diff --git a/spring-boot-cli/src/it/java/org/springframework/boot/cli/infrastructure/CommandLineInvoker.java b/spring-boot-cli/src/it/java/org/springframework/boot/cli/infrastructure/CommandLineInvoker.java index 440b4ccdebe..9d138751c29 100644 --- a/spring-boot-cli/src/it/java/org/springframework/boot/cli/infrastructure/CommandLineInvoker.java +++ b/spring-boot-cli/src/it/java/org/springframework/boot/cli/infrastructure/CommandLineInvoker.java @@ -21,7 +21,9 @@ import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.io.InputStream; +import java.io.PrintWriter; import java.io.StringReader; +import java.io.StringWriter; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -99,16 +101,31 @@ public final class CommandLineInvoker { } public String getErrorOutput() { - return this.err.toString(); + return postProcessLines(getLines(this.err)); } public String getStandardOutput() { - return this.out.toString(); + return postProcessLines(getStandardOutputLines()); } public List getStandardOutputLines() { - BufferedReader reader = new BufferedReader(new StringReader( - this.out.toString())); + return getLines(this.out); + } + + private String postProcessLines(List lines) { + StringWriter out = new StringWriter(); + PrintWriter printOut = new PrintWriter(out); + for (String line : lines) { + if (!line.startsWith("Maven settings decryption failed")) { + printOut.println(line); + } + } + return out.toString(); + } + + private List getLines(StringBuffer buffer) { + BufferedReader reader = new BufferedReader( + new StringReader(buffer.toString())); String line; List lines = new ArrayList(); try { @@ -117,7 +134,7 @@ public final class CommandLineInvoker { } } catch (IOException ex) { - throw new RuntimeException("Failed to read standard output"); + throw new RuntimeException("Failed to read output"); } return lines; } diff --git a/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/SettingsXmlRepositorySystemSessionAutoConfiguration.java b/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/SettingsXmlRepositorySystemSessionAutoConfiguration.java index fad751de340..c66670aad95 100644 --- a/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/SettingsXmlRepositorySystemSessionAutoConfiguration.java +++ b/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/SettingsXmlRepositorySystemSessionAutoConfiguration.java @@ -77,7 +77,7 @@ public class SettingsXmlRepositorySystemSessionAutoConfiguration implements Settings settings = loadSettings(); SettingsDecryptionResult decryptionResult = decryptSettings(settings); if (!decryptionResult.getProblems().isEmpty()) { - Log.error("Settings decryption failed: " + decryptionResult.getProblems()); + Log.error("Maven settings decryption failed. Some Maven repositories may be inaccessible"); // Continue - the encrypted credentials may not be used }