|
@@ -23,6 +23,7 @@ import java.io.File; |
|
|
import java.io.FileWriter; |
|
|
import java.io.FileWriter; |
|
|
import java.io.IOException; |
|
|
import java.io.IOException; |
|
|
import java.util.Optional; |
|
|
import java.util.Optional; |
|
|
|
|
|
import java.util.regex.Pattern; |
|
|
import java.util.stream.Collectors; |
|
|
import java.util.stream.Collectors; |
|
|
import java.util.stream.Stream; |
|
|
import java.util.stream.Stream; |
|
|
|
|
|
|
|
@@ -67,6 +68,8 @@ public abstract class DefaultCompilerAdapter |
|
|
protected static final String lSep = StringUtils.LINE_SEP; |
|
|
protected static final String lSep = StringUtils.LINE_SEP; |
|
|
// CheckStyle:ConstantNameCheck ON |
|
|
// CheckStyle:ConstantNameCheck ON |
|
|
|
|
|
|
|
|
|
|
|
private static final Pattern JAVAC_ARG_FILE_CHARS_TO_QUOTE = Pattern.compile("[ #]"); // space or # character |
|
|
|
|
|
|
|
|
protected Path src; |
|
|
protected Path src; |
|
|
protected File destDir; |
|
|
protected File destDir; |
|
|
protected String encoding; |
|
|
protected String encoding; |
|
@@ -549,7 +552,7 @@ public abstract class DefaultCompilerAdapter |
|
|
try (BufferedWriter out = |
|
|
try (BufferedWriter out = |
|
|
new BufferedWriter(new FileWriter(tmpFile))) { |
|
|
new BufferedWriter(new FileWriter(tmpFile))) { |
|
|
for (int i = firstFileName; i < args.length; i++) { |
|
|
for (int i = firstFileName; i < args.length; i++) { |
|
|
if (quoteFiles && args[i].contains(" ")) { |
|
|
|
|
|
|
|
|
if (quoteFiles && JAVAC_ARG_FILE_CHARS_TO_QUOTE.matcher(args[i]).find()) { |
|
|
args[i] = |
|
|
args[i] = |
|
|
args[i].replace(File.separatorChar, '/'); |
|
|
args[i].replace(File.separatorChar, '/'); |
|
|
out.write("\"" + args[i] + "\""); |
|
|
out.write("\"" + args[i] + "\""); |
|
|