Skip to content

Commit 0508b34

Browse files
committed
Add more common locations for path detection
1 parent a636717 commit 0508b34

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

src/main/java/net/minecraftforge/java_provisioner/JavaDirectoryLocator.java

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,11 @@
88
import java.util.ArrayList;
99
import java.util.Collection;
1010
import java.util.List;
11-
import java.util.Objects;
1211
import java.util.stream.Collectors;
1312

1413
import net.minecraftforge.java_provisioner.api.JavaInstall;
1514
import net.minecraftforge.java_provisioner.api.JavaProvisionerException;
1615
import net.minecraftforge.util.os.OS;
17-
import org.jetbrains.annotations.Nullable;
1816

1917
/*
2018
* Attempts to find the java install from specific folders.
@@ -24,6 +22,8 @@ final class JavaDirectoryLocator extends JavaHomeLocator {
2422
private final Collection<File> paths;
2523

2624
private static Collection<File> guesses() {
25+
File userHome = new File(System.getProperty("user.home"));
26+
2727
Collection<File> ret = new ArrayList<>();
2828
if (OS.current() == OS.WINDOWS) { // Windows
2929
for (File root : File.listRoots()) {
@@ -44,12 +44,29 @@ private static Collection<File> guesses() {
4444
ret.add(new File("/opt/jdks"));
4545
}
4646

47+
// IntelliJ
48+
ret.add(new File(userHome, OS.current() == OS.MACOS ? "/Library/Java/JavaVirtualMachines" : ".jdks"));
49+
50+
// JABBA
51+
ret.add(new File(userHome, ".jabba/jdks"));
52+
String JABBA_HOME = System.getenv("JABBA_HOME");
53+
if (JABBA_HOME != null)
54+
ret.add(new File(new File(JABBA_HOME), "jdks"));
55+
56+
// SDKMan
57+
ret.add(new File(userHome, ".sdkman/candidates/java"));
58+
59+
// ASDF
60+
ret.add(new File(userHome, ".asdf/installs/java"));
61+
String ASDF_DATA_DIR = System.getenv("ASDF_DATA_DIR");
62+
if (ASDF_DATA_DIR != null)
63+
ret.add(new File(new File(ASDF_DATA_DIR), "installs/java"));
64+
4765
ret.removeIf(f -> !f.exists() || !f.isDirectory());
4866

4967
return ret;
5068
}
5169

52-
5370
public JavaDirectoryLocator() {
5471
this(guesses());
5572
}

src/main/java/net/minecraftforge/java_provisioner/JavaHomeLocator.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
import java.io.File;
88
import java.util.ArrayList;
99
import java.util.List;
10-
import java.util.Objects;
11-
1210
import net.minecraftforge.java_provisioner.api.JavaInstall;
1311
import net.minecraftforge.java_provisioner.api.JavaLocator;
1412
import net.minecraftforge.java_provisioner.api.JavaProvisionerException;

0 commit comments

Comments
 (0)