aboutsummaryrefslogtreecommitdiff
path: root/launcher/java
diff options
context:
space:
mode:
authorMustafa Çalışkan <muscaln@protonmail.com>2022-01-11 18:20:55 +0300
committerMustafa Çalışkan <muscaln@protonmail.com>2022-01-11 18:24:37 +0300
commit3329d94c9b83f15f33f22be298c356d69846ef41 (patch)
tree8fdb5441da982fb9572c856e209cb86c510c5f8e /launcher/java
parenta12118f1a0b733230561cd060144d294a1284557 (diff)
downloadPrismLauncher-3329d94c9b83f15f33f22be298c356d69846ef41.tar.gz
PrismLauncher-3329d94c9b83f15f33f22be298c356d69846ef41.tar.bz2
PrismLauncher-3329d94c9b83f15f33f22be298c356d69846ef41.zip
Introduce POLYMC_JAVA_PATHS env
Diffstat (limited to 'launcher/java')
-rw-r--r--launcher/java/JavaUtils.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/launcher/java/JavaUtils.cpp b/launcher/java/JavaUtils.cpp
index b5b1fd08..6e5dfeae 100644
--- a/launcher/java/JavaUtils.cpp
+++ b/launcher/java/JavaUtils.cpp
@@ -149,6 +149,21 @@ JavaInstallPtr JavaUtils::GetDefaultJava()
return javaVersion;
}
+QStringList addJavasFromEnv(QList<QString> javas)
+{
+ QByteArray env = qgetenv("POLYMC_JAVA_PATHS");
+#if defined(Q_OS_WIN32)
+ QList<QString> javaPaths = QString::fromLocal8Bit(env).split(QLatin1String(";"));
+#else
+ QList<QString> javaPaths = QString::fromLocal8Bit(env).split(QLatin1String(":"));
+#endif
+ for(QString i : javaPaths)
+ {
+ javas.append(i);
+ };
+ return javas;
+}
+
#if defined(Q_OS_WIN32)
QList<JavaInstallPtr> JavaUtils::FindJavaFromRegistryKey(DWORD keyType, QString keyName, QString keyJavaDir, QString subkeySuffix)
{
@@ -363,7 +378,7 @@ QList<QString> JavaUtils::FindJavaPaths()
javas.append(systemLibraryJVMDir.absolutePath() + "/" + java + "/Contents/Home/bin/java");
javas.append(systemLibraryJVMDir.absolutePath() + "/" + java + "/Contents/Commands/java");
}
- return javas;
+ return addJavasFromEnv(javas);
}
#elif defined(Q_OS_LINUX)
@@ -409,7 +424,7 @@ QList<QString> JavaUtils::FindJavaPaths()
scanJavaDir("/opt/jdks");
// flatpak
scanJavaDir("/app/jdk");
- return javas;
+ return addJavasFromEnv(javas);
}
#else
QList<QString> JavaUtils::FindJavaPaths()
@@ -419,6 +434,6 @@ QList<QString> JavaUtils::FindJavaPaths()
QList<QString> javas;
javas.append(this->GetDefaultJava()->path);
- return javas;
+ return addJavasFromEnv(javas);
}
#endif