1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-17 22:23:10 +03:00

SAM boards stop compiling due to way of handling params with spaces on different OSs. Fixed

This commit is contained in:
Federico Fissore
2015-04-13 12:05:00 +02:00
parent 4c9e5fc564
commit c740f251f4
2 changed files with 39 additions and 6 deletions

View File

@ -54,6 +54,7 @@ import processing.app.preproc.PdePreprocessor;
import processing.app.legacy.PApplet; import processing.app.legacy.PApplet;
import processing.app.packages.LegacyUserLibrary; import processing.app.packages.LegacyUserLibrary;
import processing.app.packages.UserLibrary; import processing.app.packages.UserLibrary;
import processing.app.tools.ArgumentsWithSpaceAwareCommandLine;
public class Compiler implements MessageConsumer { public class Compiler implements MessageConsumer {
@ -736,9 +737,9 @@ public class Compiler implements MessageConsumer {
} }
}); });
CommandLine commandLine = new CommandLine(command[0]); CommandLine commandLine = new ArgumentsWithSpaceAwareCommandLine(command[0]);
for (int i = 1; i < command.length; i++) { for (int i = 1; i < command.length; i++) {
commandLine.addArgument(command[i]); commandLine.addArgument(command[i], false);
} }
int result; int result;

View File

@ -0,0 +1,32 @@
package processing.app.tools;
import org.apache.commons.exec.CommandLine;
import processing.app.BaseNoGui;
import processing.app.Platform;
import processing.app.helpers.OSUtils;
import java.io.File;
public class ArgumentsWithSpaceAwareCommandLine extends CommandLine {
public ArgumentsWithSpaceAwareCommandLine(String executable) {
super(executable);
}
public ArgumentsWithSpaceAwareCommandLine(File executable) {
super(executable);
}
public ArgumentsWithSpaceAwareCommandLine(CommandLine other) {
super(other);
}
@Override
public CommandLine addArgument(String argument, boolean handleQuoting) {
if (argument.contains(" ") && OSUtils.isWindows()) {
argument = argument.replaceAll("\"", "").replaceAll("'", "");
}
return super.addArgument(argument, handleQuoting);
}
}