mirror of
https://github.com/arduino/Arduino.git
synced 2024-12-01 12:24:14 +01:00
ArchiveExtractor was not making symlinks the right way
This commit is contained in:
parent
ecde17b6e2
commit
1fcd6ff1ce
@ -112,7 +112,7 @@ public class ArchiveExtractor {
|
||||
|
||||
Map<File, File> hardLinks = new HashMap<File, File>();
|
||||
Map<File, Integer> hardLinksMode = new HashMap<File, Integer>();
|
||||
Map<File, File> symLinks = new HashMap<File, File>();
|
||||
Map<File, String> symLinks = new HashMap<File, String>();
|
||||
Map<File, Long> symLinksModifiedTimes = new HashMap<File, Long>();
|
||||
|
||||
// Cycle through all the archive entries
|
||||
@ -227,7 +227,7 @@ public class ArchiveExtractor {
|
||||
hardLinks.put(outputFile, outputLinkedFile);
|
||||
hardLinksMode.put(outputFile, mode);
|
||||
} else if (isSymLink) {
|
||||
symLinks.put(outputFile, outputLinkedFile);
|
||||
symLinks.put(outputFile, linkName);
|
||||
symLinksModifiedTimes.put(outputFile, modifiedTime);
|
||||
} else {
|
||||
// Create the containing folder if not exists
|
||||
@ -255,7 +255,7 @@ public class ArchiveExtractor {
|
||||
}
|
||||
}
|
||||
|
||||
for (Map.Entry<File, File> entry : symLinks.entrySet()) {
|
||||
for (Map.Entry<File, String> entry : symLinks.entrySet()) {
|
||||
if (entry.getKey().exists() && overwrite) {
|
||||
entry.getKey().delete();
|
||||
}
|
||||
|
@ -216,8 +216,8 @@ public class Platform {
|
||||
return System.getProperty("os.arch");
|
||||
}
|
||||
|
||||
public void symlink(File something, File somewhere) throws IOException, InterruptedException {
|
||||
Process process = Runtime.getRuntime().exec(new String[]{"ln", "-s", something.getAbsolutePath(), somewhere.getAbsolutePath()}, null, null);
|
||||
public void symlink(String something, File somewhere) throws IOException, InterruptedException {
|
||||
Process process = Runtime.getRuntime().exec(new String[]{"ln", "-s", something, somewhere.getAbsolutePath()}, null, somewhere.getParentFile());
|
||||
process.waitFor();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user