mirror of
https://github.com/arduino/Arduino.git
synced 2025-03-15 12:29:26 +01:00
Merge branch 'renaming' of https://github.com/matthijskooijman/Arduino
This commit is contained in:
commit
9e5dc5ce3b
@ -26,7 +26,6 @@ package processing.app;
|
|||||||
import cc.arduino.Compiler;
|
import cc.arduino.Compiler;
|
||||||
import cc.arduino.CompilerProgressListener;
|
import cc.arduino.CompilerProgressListener;
|
||||||
import cc.arduino.UploaderUtils;
|
import cc.arduino.UploaderUtils;
|
||||||
import cc.arduino.files.DeleteFilesOnShutdown;
|
|
||||||
import cc.arduino.packages.Uploader;
|
import cc.arduino.packages.Uploader;
|
||||||
import org.apache.commons.codec.digest.DigestUtils;
|
import org.apache.commons.codec.digest.DigestUtils;
|
||||||
import processing.app.debug.RunnerException;
|
import processing.app.debug.RunnerException;
|
||||||
@ -463,7 +462,7 @@ public class Sketch {
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
// delete the file
|
// delete the file
|
||||||
if (!current.getCode().deleteFile(BaseNoGui.getBuildFolder(data).toPath(), Paths.get(System.getProperty("java.io.tmpdir"), "arduino_" + DigestUtils.md5Hex(getMainFilePath())))) {
|
if (!current.getCode().deleteFile(BaseNoGui.getBuildFolder(data).toPath())) {
|
||||||
Base.showMessage(tr("Couldn't do it"),
|
Base.showMessage(tr("Couldn't do it"),
|
||||||
I18n.format(tr("Could not delete \"{0}\"."), current.getCode().getFileName()));
|
I18n.format(tr("Could not delete \"{0}\"."), current.getCode().getFileName()));
|
||||||
return;
|
return;
|
||||||
@ -1100,17 +1099,27 @@ public class Sketch {
|
|||||||
|
|
||||||
CompilerProgressListener progressListener = editor.status::progressUpdate;
|
CompilerProgressListener progressListener = editor.status::progressUpdate;
|
||||||
|
|
||||||
|
boolean deleteTemp = false;
|
||||||
String pathToSketch = data.getMainFilePath();
|
String pathToSketch = data.getMainFilePath();
|
||||||
if (isModified()) {
|
if (isModified()) {
|
||||||
|
// If any files are modified, make a copy of the sketch with the changes
|
||||||
|
// saved, so arduino-builder will see the modifications.
|
||||||
pathToSketch = saveSketchInTempFolder();
|
pathToSketch = saveSketchInTempFolder();
|
||||||
|
deleteTemp = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Compiler(pathToSketch, data, buildPath).build(progressListener, save);
|
try {
|
||||||
|
return new Compiler(pathToSketch, data, buildPath).build(progressListener,
|
||||||
|
save);
|
||||||
|
} finally {
|
||||||
|
// Make sure we clean up any temporary sketch copy
|
||||||
|
if (deleteTemp)
|
||||||
|
FileUtils.recursiveDelete(new File(pathToSketch).getParentFile());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String saveSketchInTempFolder() throws IOException {
|
private String saveSketchInTempFolder() throws IOException {
|
||||||
File tempFolder = FileUtils.createTempFolder("arduino_", DigestUtils.md5Hex(data.getMainFilePath()));
|
File tempFolder = FileUtils.createTempFolder("arduino_modified_sketch_");
|
||||||
DeleteFilesOnShutdown.add(tempFolder);
|
|
||||||
FileUtils.copy(getFolder(), tempFolder);
|
FileUtils.copy(getFolder(), tempFolder);
|
||||||
|
|
||||||
for (SketchCode sc : Stream.of(data.getCodes()).filter(SketchCode::isModified).collect(Collectors.toList())) {
|
for (SketchCode sc : Stream.of(data.getCodes()).filter(SketchCode::isModified).collect(Collectors.toList())) {
|
||||||
|
@ -91,14 +91,13 @@ public class SketchCode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected boolean deleteFile(Path tempBuildFolder, Path tempUnsavedSketchPath) throws IOException {
|
protected boolean deleteFile(Path tempBuildFolder) throws IOException {
|
||||||
if (!file.delete()) {
|
if (!file.delete()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Path> tempBuildFolders = Stream.of(tempBuildFolder, tempBuildFolder.resolve("sketch"), tempUnsavedSketchPath)
|
List<Path> tempBuildFolders = Stream.of(tempBuildFolder, tempBuildFolder.resolve("sketch"))
|
||||||
.filter(path -> Files.exists(path))
|
.filter(path -> Files.exists(path)).collect(Collectors.toList());
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
for (Path folder : tempBuildFolders) {
|
for (Path folder : tempBuildFolders) {
|
||||||
if (!deleteCompiledFilesFrom(folder)) {
|
if (!deleteCompiledFilesFrom(folder)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user