Skip to content

Commit eb95419

Browse files
committed
Write raw javac output to a log file
1 parent be72c6d commit eb95419

File tree

1 file changed

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

1 file changed

+13
-0
lines changed

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

+13
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,13 @@
5353
import java.net.MalformedURLException;
5454
import java.net.URL;
5555
import java.net.URLClassLoader;
56+
import java.nio.charset.StandardCharsets;
57+
import java.nio.file.Files;
58+
import java.nio.file.Path;
59+
import java.text.SimpleDateFormat;
5660
import java.util.ArrayList;
5761
import java.util.Arrays;
62+
import java.util.Date;
5863
import java.util.List;
5964
import java.util.Map;
6065
import java.util.NoSuchElementException;
@@ -634,6 +639,14 @@ protected CompilerResult compileOutOfProcess( CompilerConfiguration config, Stri
634639
try
635640
{
636641
returnCode = CommandLineUtils.executeCommandLine( cli, out, out );
642+
Path logsDir = config.getBuildDirectory().toPath().resolve("compiler-logs");
643+
if (!Files.exists(logsDir))
644+
{
645+
Files.createDirectories(logsDir);
646+
}
647+
SimpleDateFormat dateFormat = new SimpleDateFormat("'javac'_yyyy-MM-dd_HH:mm:ss.'log'");
648+
String logFileName = dateFormat.format(new Date());
649+
Files.write(logsDir.resolve(logFileName), out.getOutput().getBytes(StandardCharsets.UTF_8));
637650

638651
messages = parseModernStream( returnCode, new BufferedReader( new StringReader( out.getOutput() ) ) );
639652
}

0 commit comments

Comments
 (0)