Skip to content

Commit 373d4b8

Browse files
mensindagnodet
authored andcommitted
Write raw javac output to a log file
1 parent b7cc076 commit 373d4b8

File tree

1 file changed

+12
-0
lines changed
  • plexus-compilers/plexus-compiler-javac/src/main/java/org/codehaus/plexus/compiler/javac

1 file changed

+12
-0
lines changed

plexus-compilers/plexus-compiler-javac/src/main/java/org/codehaus/plexus/compiler/javac/JavacCompiler.java

+12
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,13 @@
5656
import java.net.MalformedURLException;
5757
import java.net.URL;
5858
import java.net.URLClassLoader;
59+
import java.nio.charset.StandardCharsets;
60+
import java.nio.file.Files;
61+
import java.nio.file.Path;
62+
import java.text.SimpleDateFormat;
5963
import java.util.ArrayList;
6064
import java.util.Arrays;
65+
import java.util.Date;
6166
import java.util.List;
6267
import java.util.Map;
6368
import java.util.NoSuchElementException;
@@ -562,6 +567,13 @@ protected CompilerResult compileOutOfProcess(CompilerConfiguration config, Strin
562567

563568
try {
564569
returnCode = CommandLineUtils.executeCommandLine(cli, out, out);
570+
Path logsDir = config.getBuildDirectory().toPath().resolve("compiler-logs");
571+
if (!Files.exists(logsDir)) {
572+
Files.createDirectories(logsDir);
573+
}
574+
SimpleDateFormat dateFormat = new SimpleDateFormat("'javac'_yyyy-MM-dd'T'HH_mm_ss.'log'");
575+
String logFileName = dateFormat.format(new Date());
576+
Files.write(logsDir.resolve(logFileName), out.getOutput().getBytes(StandardCharsets.UTF_8));
565577

566578
messages = parseModernStream(returnCode, new BufferedReader(new StringReader(out.getOutput())));
567579
} catch (CommandLineException | IOException e) {

0 commit comments

Comments
 (0)