mirror of
https://github.com/arduino/Arduino.git
synced 2025-02-20 14:54:31 +01:00
Deleting json files if they are some how corrupted. Fixes #3015
This commit is contained in:
parent
875a775e93
commit
0c123d7d14
@ -7,6 +7,7 @@ import cc.arduino.contributions.packages.ContributionsIndexer;
|
||||
import cc.arduino.files.DeleteFilesOnShutdown;
|
||||
import cc.arduino.packages.DiscoveryManager;
|
||||
import cc.arduino.packages.Uploader;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import org.apache.commons.logging.impl.LogFactoryImpl;
|
||||
import org.apache.commons.logging.impl.NoOpLog;
|
||||
import processing.app.debug.Compiler;
|
||||
@ -597,9 +598,13 @@ public class BaseNoGui {
|
||||
|
||||
try {
|
||||
indexer.parseIndex();
|
||||
} catch (JsonProcessingException e) {
|
||||
FileUtils.deleteIfExists(indexFile);
|
||||
FileUtils.deleteIfExists(indexSignatureFile);
|
||||
throw e;
|
||||
} catch (SignatureVerificationFailedException e) {
|
||||
indexFile.delete();
|
||||
indexSignatureFile.delete();
|
||||
FileUtils.deleteIfExists(indexFile);
|
||||
FileUtils.deleteIfExists(indexSignatureFile);
|
||||
throw e;
|
||||
}
|
||||
indexer.syncWithFilesystem(getHardwareFolder());
|
||||
@ -631,7 +636,12 @@ public class BaseNoGui {
|
||||
}
|
||||
}
|
||||
}
|
||||
librariesIndexer.parseIndex();
|
||||
try {
|
||||
librariesIndexer.parseIndex();
|
||||
} catch (JsonProcessingException e) {
|
||||
FileUtils.deleteIfExists(librariesIndexFile);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
static protected void initPlatform() {
|
||||
|
@ -85,7 +85,7 @@ public class FileUtils {
|
||||
recursiveDelete(current);
|
||||
}
|
||||
}
|
||||
file.delete();
|
||||
deleteIfExists(file);
|
||||
}
|
||||
|
||||
public static File createTempFolder() throws IOException {
|
||||
@ -269,5 +269,16 @@ public class FileUtils {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static boolean deleteIfExists(File file) {
|
||||
if (file == null) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!file.exists()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return file.delete();
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user