diff options
author | Mustafa Çalışkan <muscaln@protonmail.com> | 2022-01-11 18:20:55 +0300 |
---|---|---|
committer | Mustafa Çalışkan <muscaln@protonmail.com> | 2022-01-11 18:24:37 +0300 |
commit | 3329d94c9b83f15f33f22be298c356d69846ef41 (patch) | |
tree | 8fdb5441da982fb9572c856e209cb86c510c5f8e /launcher/java | |
parent | a12118f1a0b733230561cd060144d294a1284557 (diff) | |
download | PrismLauncher-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.cpp | 21 |
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 |