Skip to content
This repository was archived by the owner on Dec 30, 2022. It is now read-only.

Commit 978018f

Browse files
committed
Use deleteOnExit on windows
Closes #15 Signed-off-by: DeathsGun <deathsgun@protonmail.com>
1 parent d74aa96 commit 978018f

4 files changed

Lines changed: 28 additions & 2 deletions

File tree

src/main/java/xyz/deathsgun/modmanager/tasks/ModRemovalTask.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
import xyz.deathsgun.modmanager.api.manipulation.TaskCallback;
2626
import xyz.deathsgun.modmanager.api.mod.SummarizedMod;
2727
import xyz.deathsgun.modmanager.util.FabricMods;
28+
import xyz.deathsgun.modmanager.util.InstallationUtil;
29+
import xyz.deathsgun.modmanager.util.OS;
2830

2931
import java.nio.file.Files;
3032
import java.nio.file.Path;
@@ -53,7 +55,11 @@ protected void execute() throws Exception {
5355
if (jar == null) {
5456
throw new Exception(String.format("Couldn't find jar for %s", subject.name()));
5557
}
56-
Files.delete(jar);
58+
if (InstallationUtil.getCurrentOS() != OS.WINDOWS) {
59+
Files.delete(jar);
60+
} else {
61+
jar.toFile().deleteOnExit();
62+
}
5763
ModManager.getModManipulationManager().removeManuallyInstalled(subject);
5864
}
5965

src/main/java/xyz/deathsgun/modmanager/tasks/ModUpdateTask.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import xyz.deathsgun.modmanager.api.mod.SummarizedMod;
99
import xyz.deathsgun.modmanager.util.FabricMods;
1010
import xyz.deathsgun.modmanager.util.InstallationUtil;
11+
import xyz.deathsgun.modmanager.util.OS;
1112

1213
import java.nio.file.Files;
1314
import java.nio.file.Path;
@@ -40,7 +41,11 @@ protected void execute() throws Exception {
4041
if (jar == null) {
4142
throw new Exception(String.format("Couldn't find jar for %s", subject.name()));
4243
}
43-
Files.delete(jar);
44+
if (InstallationUtil.getCurrentOS() != OS.WINDOWS) {
45+
Files.delete(jar);
46+
} else {
47+
jar.toFile().deleteOnExit();
48+
}
4449
InstallationUtil.downloadMod(http, InstallationUtil.getVersionForMod(subject));
4550
ModManager.getModManipulationManager().markManuallyUpdated(subject);
4651
ModManager.getUpdateChecker().removeUpdate(subject.id());

src/main/java/xyz/deathsgun/modmanager/util/InstallationUtil.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,12 @@ public static void downloadMod(HttpClient http, ModVersion version) throws Excep
5656
}
5757
}
5858

59+
public static OS getCurrentOS() {
60+
String name = System.getProperty("os.name");
61+
if (name.contains("win")) {
62+
return OS.WINDOWS;
63+
}
64+
return name.contains("mac") ? OS.MACOS : OS.LINUX;
65+
}
66+
5967
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package xyz.deathsgun.modmanager.util;
2+
3+
public enum OS {
4+
5+
LINUX, MACOS, WINDOWS
6+
7+
}

0 commit comments

Comments
 (0)