From 542ad146ad1334d0c701ae3145eff4ec17985f9b Mon Sep 17 00:00:00 2001 From: Octol1ttle Date: Sun, 21 Sep 2025 13:44:38 +0500 Subject: [PATCH] fix(FindJavaPaths): use SDKMAN_DIR env var to find sdkman installations Signed-off-by: Octol1ttle --- launcher/java/JavaUtils.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/launcher/java/JavaUtils.cpp b/launcher/java/JavaUtils.cpp index 4f2ee3629..7d98c0fb4 100644 --- a/launcher/java/JavaUtils.cpp +++ b/launcher/java/JavaUtils.cpp @@ -379,10 +379,12 @@ QList JavaUtils::FindJavaPaths() auto home = qEnvironmentVariable("HOME"); // javas downloaded by sdkman - QDir sdkmanDir(FS::PathCombine(home, ".sdkman/candidates/java")); - QStringList sdkmanJavas = sdkmanDir.entryList(QDir::Dirs | QDir::NoDotAndDotDot); + QString sdkmanDir = qEnvironmentVariable("SDKMAN_DIR", FS::PathCombine(home, ".sdkman")); + QDir sdkmanJavaDir(FS::PathCombine(sdkmanDir, "candidates/java")); + QStringList sdkmanJavas = sdkmanJavaDir.entryList(QDir::Dirs | QDir::NoDotAndDotDot); for (const QString& java : sdkmanJavas) { - javas.append(sdkmanDir.absolutePath() + "/" + java + "/bin/java"); + javas.append(sdkmanJavaDir.absolutePath() + "/" + java + "/bin/java"); + } } // java in user library folder (like from intellij downloads) @@ -468,7 +470,8 @@ QList JavaUtils::FindJavaPaths() // javas downloaded by IntelliJ scanJavaDirs(FS::PathCombine(home, ".jdks")); // javas downloaded by sdkman - scanJavaDirs(FS::PathCombine(home, ".sdkman/candidates/java")); + QString sdkmanDir = qEnvironmentVariable("SDKMAN_DIR", FS::PathCombine(home, ".sdkman")); + scanJavaDirs(FS::PathCombine(sdkmanDir, "candidates/java")); // javas downloaded by gradle (toolchains) scanJavaDirs(FS::PathCombine(home, ".gradle/jdks"));