diff options
author | Alexandru Ionut Tripon <alexandru.tripon97@gmail.com> | 2023-08-12 12:42:30 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-12 12:42:30 +0300 |
commit | b3b2e9df35222209b4920202d86091eeeb87f03f (patch) | |
tree | ce44c3877ee36c21279d142b2af1c393e7b87780 /launcher/java/JavaChecker.cpp | |
parent | ca061080c13042642fb3bd49a29a863756f45866 (diff) | |
parent | 3aba7f8fec45c7c87be486d8f6b5c96f69facf93 (diff) | |
download | PrismLauncher-b3b2e9df35222209b4920202d86091eeeb87f03f.tar.gz PrismLauncher-b3b2e9df35222209b4920202d86091eeeb87f03f.tar.bz2 PrismLauncher-b3b2e9df35222209b4920202d86091eeeb87f03f.zip |
Merge branch 'develop' into feat/acknowledge_release_type
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Diffstat (limited to 'launcher/java/JavaChecker.cpp')
-rw-r--r-- | launcher/java/JavaChecker.cpp | 56 |
1 files changed, 20 insertions, 36 deletions
diff --git a/launcher/java/JavaChecker.cpp b/launcher/java/JavaChecker.cpp index e4a686c2..20caba18 100644 --- a/launcher/java/JavaChecker.cpp +++ b/launcher/java/JavaChecker.cpp @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-3.0-only /* - * PolyMC - Minecraft Launcher + * Prism Launcher - Minecraft Launcher * Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net> * * This program is free software: you can redistribute it and/or modify @@ -35,26 +35,23 @@ #include "JavaChecker.h" +#include <QDebug> #include <QFile> -#include <QProcess> #include <QMap> -#include <QDebug> +#include <QProcess> -#include "JavaUtils.h" -#include "FileSystem.h" -#include "Commandline.h" #include "Application.h" +#include "Commandline.h" +#include "FileSystem.h" +#include "JavaUtils.h" -JavaChecker::JavaChecker(QObject *parent) : QObject(parent) -{ -} +JavaChecker::JavaChecker(QObject* parent) : QObject(parent) {} void JavaChecker::performCheck() { QString checkerJar = JavaUtils::getJavaCheckPath(); - if (checkerJar.isEmpty()) - { + if (checkerJar.isEmpty()) { qDebug() << "Java checker library could not be found. Please check your installation."; return; } @@ -62,25 +59,21 @@ void JavaChecker::performCheck() QStringList args; process.reset(new QProcess()); - if(m_args.size()) - { + if (m_args.size()) { auto extraArgs = Commandline::splitArgs(m_args); args.append(extraArgs); } - if(m_minMem != 0) - { + if (m_minMem != 0) { args << QString("-Xms%1m").arg(m_minMem); } - if(m_maxMem != 0) - { + if (m_maxMem != 0) { args << QString("-Xmx%1m").arg(m_maxMem); } - if(m_permGen != 64) - { + if (m_permGen != 64) { args << QString("-XX:PermSize=%1m").arg(m_permGen); } - args.append({"-jar", checkerJar}); + args.append({ "-jar", checkerJar }); process->setArguments(args); process->setProgram(m_path); process->setProcessChannelMode(QProcess::SeparateChannels); @@ -130,8 +123,7 @@ void JavaChecker::finished(int exitcode, QProcess::ExitStatus status) qWarning() << "STDERR" << m_stderr; qDebug() << "Java checker finished with status" << status << "exit code" << exitcode; - if (status == QProcess::CrashExit || exitcode == 1) - { + if (status == QProcess::CrashExit || exitcode == 1) { result.validity = JavaCheckResult::Validity::Errored; emit checkFinished(result); return; @@ -146,8 +138,7 @@ void JavaChecker::finished(int exitcode, QProcess::ExitStatus status) #else QStringList lines = m_stdout.split("\n", QString::SkipEmptyParts); #endif - for(QString line : lines) - { + for (QString line : lines) { line = line.trimmed(); // NOTE: workaround for GH-4125, where garbage is getting printed into stdout on bedrock linux if (line.contains("/bedrock/strata")) { @@ -159,18 +150,14 @@ void JavaChecker::finished(int exitcode, QProcess::ExitStatus status) #else auto parts = line.split('=', QString::SkipEmptyParts); #endif - if(parts.size() != 2 || parts[0].isEmpty() || parts[1].isEmpty()) - { + if (parts.size() != 2 || parts[0].isEmpty() || parts[1].isEmpty()) { continue; - } - else - { + } else { results.insert(parts[0], parts[1]); } } - if(!results.contains("os.arch") || !results.contains("java.version") || !results.contains("java.vendor") || !success) - { + if (!results.contains("os.arch") || !results.contains("java.version") || !results.contains("java.vendor") || !success) { result.validity = JavaCheckResult::Validity::ReturnedInvalidData; emit checkFinished(result); return; @@ -181,7 +168,6 @@ void JavaChecker::finished(int exitcode, QProcess::ExitStatus status) auto java_vendor = results["java.vendor"]; bool is_64 = os_arch == "x86_64" || os_arch == "amd64" || os_arch == "aarch64" || os_arch == "arm64"; - result.validity = JavaCheckResult::Validity::Valid; result.is_64bit = is_64; result.mojangPlatform = is_64 ? "64" : "32"; @@ -194,8 +180,7 @@ void JavaChecker::finished(int exitcode, QProcess::ExitStatus status) void JavaChecker::error(QProcess::ProcessError err) { - if(err == QProcess::FailedToStart) - { + if (err == QProcess::FailedToStart) { qDebug() << "Java checker has failed to start."; qDebug() << "Process environment:"; qDebug() << process->environment(); @@ -216,8 +201,7 @@ void JavaChecker::error(QProcess::ProcessError err) void JavaChecker::timeout() { // NO MERCY. NO ABUSE. - if(process) - { + if (process) { qDebug() << "Java checker has been killed by timeout."; process->kill(); } |