diff options
| author | Petr Mrázek <peterix@gmail.com> | 2018-07-15 14:51:05 +0200 |
|---|---|---|
| committer | Petr Mrázek <peterix@gmail.com> | 2018-07-15 14:51:05 +0200 |
| commit | bbb3b3e6f6e3c0f95873f22e6d0a4aaf350f49d9 (patch) | |
| tree | e6497e304b7b9368367565fbc7c06efab1124b1c /api/logic/java | |
| parent | 03280cc62e75f8073f8d3d9e9e3952acf21fa77d (diff) | |
| download | PrismLauncher-bbb3b3e6f6e3c0f95873f22e6d0a4aaf350f49d9.tar.gz PrismLauncher-bbb3b3e6f6e3c0f95873f22e6d0a4aaf350f49d9.tar.bz2 PrismLauncher-bbb3b3e6f6e3c0f95873f22e6d0a4aaf350f49d9.zip | |
NOISSUE tabs -> spaces
Diffstat (limited to 'api/logic/java')
| -rw-r--r-- | api/logic/java/JavaChecker.cpp | 250 | ||||
| -rw-r--r-- | api/logic/java/JavaChecker.h | 66 | ||||
| -rw-r--r-- | api/logic/java/JavaCheckerJob.cpp | 32 | ||||
| -rw-r--r-- | api/logic/java/JavaCheckerJob.h | 52 | ||||
| -rw-r--r-- | api/logic/java/JavaInstall.cpp | 28 | ||||
| -rw-r--r-- | api/logic/java/JavaInstall.h | 48 | ||||
| -rw-r--r-- | api/logic/java/JavaInstallList.cpp | 222 | ||||
| -rw-r--r-- | api/logic/java/JavaInstallList.h | 58 | ||||
| -rw-r--r-- | api/logic/java/JavaUtils.cpp | 514 | ||||
| -rw-r--r-- | api/logic/java/JavaUtils.h | 12 | ||||
| -rw-r--r-- | api/logic/java/JavaVersion.cpp | 164 | ||||
| -rw-r--r-- | api/logic/java/JavaVersion.h | 68 | ||||
| -rw-r--r-- | api/logic/java/JavaVersion_test.cpp | 194 | ||||
| -rw-r--r-- | api/logic/java/launch/CheckJava.cpp | 194 | ||||
| -rw-r--r-- | api/logic/java/launch/CheckJava.h | 28 |
15 files changed, 965 insertions, 965 deletions
diff --git a/api/logic/java/JavaChecker.cpp b/api/logic/java/JavaChecker.cpp index f0b71e48..9ba3933f 100644 --- a/api/logic/java/JavaChecker.cpp +++ b/api/logic/java/JavaChecker.cpp @@ -16,149 +16,149 @@ JavaChecker::JavaChecker(QObject *parent) : QObject(parent) void JavaChecker::performCheck() { - QString checkerJar = FS::PathCombine(ENV.getJarsPath(), "JavaCheck.jar"); - - QStringList args; - - process.reset(new QProcess()); - if(m_args.size()) - { - auto extraArgs = Commandline::splitArgs(m_args); - args.append(extraArgs); - } - if(m_minMem != 0) - { - args << QString("-Xms%1m").arg(m_minMem); - } - if(m_maxMem != 0) - { - args << QString("-Xmx%1m").arg(m_maxMem); - } - if(m_permGen != 64) - { - args << QString("-XX:PermSize=%1m").arg(m_permGen); - } - - args.append({"-jar", checkerJar}); - process->setArguments(args); - process->setProgram(m_path); - process->setProcessChannelMode(QProcess::SeparateChannels); - process->setProcessEnvironment(CleanEnviroment()); - qDebug() << "Running java checker: " + m_path + args.join(" ");; - - connect(process.get(), SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(finished(int, QProcess::ExitStatus))); - connect(process.get(), SIGNAL(error(QProcess::ProcessError)), this, SLOT(error(QProcess::ProcessError))); - connect(process.get(), SIGNAL(readyReadStandardOutput()), this, SLOT(stdoutReady())); - connect(process.get(), SIGNAL(readyReadStandardError()), this, SLOT(stderrReady())); - connect(&killTimer, SIGNAL(timeout()), SLOT(timeout())); - killTimer.setSingleShot(true); - killTimer.start(15000); - process->start(); + QString checkerJar = FS::PathCombine(ENV.getJarsPath(), "JavaCheck.jar"); + + QStringList args; + + process.reset(new QProcess()); + if(m_args.size()) + { + auto extraArgs = Commandline::splitArgs(m_args); + args.append(extraArgs); + } + if(m_minMem != 0) + { + args << QString("-Xms%1m").arg(m_minMem); + } + if(m_maxMem != 0) + { + args << QString("-Xmx%1m").arg(m_maxMem); + } + if(m_permGen != 64) + { + args << QString("-XX:PermSize=%1m").arg(m_permGen); + } + + args.append({"-jar", checkerJar}); + process->setArguments(args); + process->setProgram(m_path); + process->setProcessChannelMode(QProcess::SeparateChannels); + process->setProcessEnvironment(CleanEnviroment()); + qDebug() << "Running java checker: " + m_path + args.join(" ");; + + connect(process.get(), SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(finished(int, QProcess::ExitStatus))); + connect(process.get(), SIGNAL(error(QProcess::ProcessError)), this, SLOT(error(QProcess::ProcessError))); + connect(process.get(), SIGNAL(readyReadStandardOutput()), this, SLOT(stdoutReady())); + connect(process.get(), SIGNAL(readyReadStandardError()), this, SLOT(stderrReady())); + connect(&killTimer, SIGNAL(timeout()), SLOT(timeout())); + killTimer.setSingleShot(true); + killTimer.start(15000); + process->start(); } void JavaChecker::stdoutReady() { - QByteArray data = process->readAllStandardOutput(); - QString added = QString::fromLocal8Bit(data); - added.remove('\r'); - m_stdout += added; + QByteArray data = process->readAllStandardOutput(); + QString added = QString::fromLocal8Bit(data); + added.remove('\r'); + m_stdout += added; } void JavaChecker::stderrReady() { - QByteArray data = process->readAllStandardError(); - QString added = QString::fromLocal8Bit(data); - added.remove('\r'); - m_stderr += added; + QByteArray data = process->readAllStandardError(); + QString added = QString::fromLocal8Bit(data); + added.remove('\r'); + m_stderr += added; } void JavaChecker::finished(int exitcode, QProcess::ExitStatus status) { - killTimer.stop(); - QProcessPtr _process; - _process.swap(process); - - JavaCheckResult result; - { - result.path = m_path; - result.id = m_id; - } - result.errorLog = m_stderr; - result.outLog = m_stdout; - qDebug() << "STDOUT" << m_stdout; - qWarning() << "STDERR" << m_stderr; - qDebug() << "Java checker finished with status " << status << " exit code " << exitcode; - - if (status == QProcess::CrashExit || exitcode == 1) - { - result.validity = JavaCheckResult::Validity::Errored; - emit checkFinished(result); - return; - } - - bool success = true; - - QMap<QString, QString> results; - QStringList lines = m_stdout.split("\n", QString::SkipEmptyParts); - for(QString line : lines) - { - line = line.trimmed(); - - auto parts = line.split('=', QString::SkipEmptyParts); - if(parts.size() != 2 || parts[0].isEmpty() || parts[1].isEmpty()) - { - success = false; - } - else - { - results.insert(parts[0], parts[1]); - } - } - - if(!results.contains("os.arch") || !results.contains("java.version") || !success) - { - result.validity = JavaCheckResult::Validity::ReturnedInvalidData; - emit checkFinished(result); - return; - } - - auto os_arch = results["os.arch"]; - auto java_version = results["java.version"]; - bool is_64 = os_arch == "x86_64" || os_arch == "amd64"; - - - result.validity = JavaCheckResult::Validity::Valid; - result.is_64bit = is_64; - result.mojangPlatform = is_64 ? "64" : "32"; - result.realPlatform = os_arch; - result.javaVersion = java_version; - qDebug() << "Java checker succeeded."; - emit checkFinished(result); + killTimer.stop(); + QProcessPtr _process; + _process.swap(process); + + JavaCheckResult result; + { + result.path = m_path; + result.id = m_id; + } + result.errorLog = m_stderr; + result.outLog = m_stdout; + qDebug() << "STDOUT" << m_stdout; + qWarning() << "STDERR" << m_stderr; + qDebug() << "Java checker finished with status " << status << " exit code " << exitcode; + + if (status == QProcess::CrashExit || exitcode == 1) + { + result.validity = JavaCheckResult::Validity::Errored; + emit checkFinished(result); + return; + } + + bool success = true; + + QMap<QString, QString> results; + QStringList lines = m_stdout.split("\n", QString::SkipEmptyParts); + for(QString line : lines) + { + line = line.trimmed(); + + auto parts = line.split('=', QString::SkipEmptyParts); + if(parts.size() != 2 || parts[0].isEmpty() || parts[1].isEmpty()) + { + success = false; + } + else + { + results.insert(parts[0], parts[1]); + } + } + + if(!results.contains("os.arch") || !results.contains("java.version") || !success) + { + result.validity = JavaCheckResult::Validity::ReturnedInvalidData; + emit checkFinished(result); + return; + } + + auto os_arch = results["os.arch"]; + auto java_version = results["java.version"]; + bool is_64 = os_arch == "x86_64" || os_arch == "amd64"; + + + result.validity = JavaCheckResult::Validity::Valid; + result.is_64bit = is_64; + result.mojangPlatform = is_64 ? "64" : "32"; + result.realPlatform = os_arch; + result.javaVersion = java_version; + qDebug() << "Java checker succeeded."; + emit checkFinished(result); } void JavaChecker::error(QProcess::ProcessError err) { - if(err == QProcess::FailedToStart) - { - killTimer.stop(); - qDebug() << "Java checker has failed to start."; - JavaCheckResult result; - { - result.path = m_path; - result.id = m_id; - } - - emit checkFinished(result); - return; - } + if(err == QProcess::FailedToStart) + { + killTimer.stop(); + qDebug() << "Java checker has failed to start."; + JavaCheckResult result; + { + result.path = m_path; + result.id = m_id; + } + + emit checkFinished(result); + return; + } } void JavaChecker::timeout() { - // NO MERCY. NO ABUSE. - if(process) - { - qDebug() << "Java checker has been killed by timeout."; - process->kill(); - } + // NO MERCY. NO ABUSE. + if(process) + { + qDebug() << "Java checker has been killed by timeout."; + process->kill(); + } } diff --git a/api/logic/java/JavaChecker.h b/api/logic/java/JavaChecker.h index c6bd697c..d5d4b0de 100644 --- a/api/logic/java/JavaChecker.h +++ b/api/logic/java/JavaChecker.h @@ -11,50 +11,50 @@ class JavaChecker; struct MULTIMC_LOGIC_EXPORT JavaCheckResult { - QString path; - QString mojangPlatform; - QString realPlatform; - JavaVersion javaVersion; - QString outLog; - QString errorLog; - bool is_64bit = false; - int id; - enum class Validity - { - Errored, - ReturnedInvalidData, - Valid - } validity = Validity::Errored; + QString path; + QString mojangPlatform; + QString realPlatform; + JavaVersion javaVersion; + QString outLog; + QString errorLog; + bool is_64bit = false; + int id; + enum class Validity + { + Errored, + ReturnedInvalidData, + Valid + } validity = Validity::Errored; }; typedef std::shared_ptr<QProcess> QProcessPtr; typedef std::shared_ptr<JavaChecker> JavaCheckerPtr; class MULTIMC_LOGIC_EXPORT JavaChecker : public QObject { - Q_OBJECT + Q_OBJECT public: - explicit JavaChecker(QObject *parent = 0); - void performCheck(); + explicit JavaChecker(QObject *parent = 0); + void performCheck(); - QString m_path; - QString m_args; - int m_id = 0; - int m_minMem = 0; - int m_maxMem = 0; - int m_permGen = 64; + QString m_path; + QString m_args; + int m_id = 0; + int m_minMem = 0; + int m_maxMem = 0; + int m_permGen = 64; signals: - void checkFinished(JavaCheckResult result); + void checkFinished(JavaCheckResult result); private: - QProcessPtr process; - QTimer killTimer; - QString m_stdout; - QString m_stderr; + QProcessPtr process; + QTimer killTimer; + QString m_stdout; + QString m_stderr; public slots: - void timeout(); - void finished(int exitcode, QProcess::ExitStatus); - void error(QProcess::ProcessError); - void stdoutReady(); - void stderrReady(); + void timeout(); + void finished(int exitcode, QProcess::ExitStatus); + void error(QProcess::ProcessError); + void stdoutReady(); + void stderrReady(); }; diff --git a/api/logic/java/JavaCheckerJob.cpp b/api/logic/java/JavaCheckerJob.cpp index fabb5aaa..a26846f2 100644 --- a/api/logic/java/JavaCheckerJob.cpp +++ b/api/logic/java/JavaCheckerJob.cpp @@ -19,26 +19,26 @@ void JavaCheckerJob::partFinished(JavaCheckResult result) { - num_finished++; - qDebug() << m_job_name.toLocal8Bit() << "progress:" << num_finished << "/" - << javacheckers.size(); - setProgress(num_finished, javacheckers.size()); + num_finished++; + qDebug() << m_job_name.toLocal8Bit() << "progress:" << num_finished << "/" + << javacheckers.size(); + setProgress(num_finished, javacheckers.size()); - javaresults.replace(result.id, result); + javaresults.replace(result.id, result); - if (num_finished == javacheckers.size()) - { - emitSucceeded(); - } + if (num_finished == javacheckers.size()) + { + emitSucceeded(); + } } void JavaCheckerJob::executeTask() { - qDebug() << m_job_name.toLocal8Bit() << " started."; - for (auto iter : javacheckers) - { - javaresults.append(JavaCheckResult()); - connect(iter.get(), SIGNAL(checkFinished(JavaCheckResult)), SLOT(partFinished(JavaCheckResult))); - iter->performCheck(); - } + qDebug() << m_job_name.toLocal8Bit() << " started."; + for (auto iter : javacheckers) + { + javaresults.append(JavaCheckResult()); + connect(iter.get(), SIGNAL(checkFinished(JavaCheckResult)), SLOT(partFinished(JavaCheckResult))); + iter->performCheck(); + } } diff --git a/api/logic/java/JavaCheckerJob.h b/api/logic/java/JavaCheckerJob.h index 64ac58a1..e52970c1 100644 --- a/api/logic/java/JavaCheckerJob.h +++ b/api/logic/java/JavaCheckerJob.h @@ -25,37 +25,37 @@ typedef std::shared_ptr<JavaCheckerJob> JavaCheckerJobPtr; // FIXME: this just seems horribly redundant class JavaCheckerJob : public Task { - Q_OBJECT + Q_OBJECT public: - explicit JavaCheckerJob(QString job_name) : Task(), m_job_name(job_name) {}; - virtual ~JavaCheckerJob() {}; - - bool addJavaCheckerAction(JavaCheckerPtr base) - { - javacheckers.append(base); - // if this is already running, the action needs to be started right away! - if (isRunning()) - { - setProgress(num_finished, javacheckers.size()); - connect(base.get(), &JavaChecker::checkFinished, this, &JavaCheckerJob::partFinished); - base->performCheck(); - } - return true; - } - QList<JavaCheckResult> getResults() - { - return javaresults; - } + explicit JavaCheckerJob(QString job_name) : Task(), m_job_name(job_name) {}; + virtual ~JavaCheckerJob() {}; + + bool addJavaCheckerAction(JavaCheckerPtr base) + { + javacheckers.append(base); + // if this is already running, the action needs to be started right away! + if (isRunning()) + { + setProgress(num_finished, javacheckers.size()); + connect(base.get(), &JavaChecker::checkFinished, this, &JavaCheckerJob::partFinished); + base->performCheck(); + } + return true; + } + QList<JavaCheckResult> getResults() + { + return javaresults; + } private slots: - void partFinished(JavaCheckResult result); + void partFinished(JavaCheckResult result); protected: - virtual void executeTask() override; + virtual void executeTask() override; private: - QString m_job_name; - QList<JavaCheckerPtr> javacheckers; - QList<JavaCheckResult> javaresults; - int num_finished = 0; + QString m_job_name; + QList<JavaCheckerPtr> javacheckers; + QList<JavaCheckResult> javaresults; + int num_finished = 0; }; diff --git a/api/logic/java/JavaInstall.cpp b/api/logic/java/JavaInstall.cpp index bb262b6e..5bcf7bcb 100644 --- a/api/logic/java/JavaInstall.cpp +++ b/api/logic/java/JavaInstall.cpp @@ -3,26 +3,26 @@ bool JavaInstall::operator<(const JavaInstall &rhs) { - auto archCompare = Strings::naturalCompare(arch, rhs.arch, Qt::CaseInsensitive); - if(archCompare != 0) - return archCompare < 0; - if(id < rhs.id) - { - return true; - } - if(id > rhs.id) - { - return false; - } - return Strings::naturalCompare(path, rhs.path, Qt::CaseInsensitive) < 0; + auto archCompare = Strings::naturalCompare(arch, rhs.arch, Qt::CaseInsensitive); + if(archCompare != 0) + return archCompare < 0; + if(id < rhs.id) + { + return true; + } + if(id > rhs.id) + { + return false; + } + return Strings::naturalCompare(path, rhs.path, Qt::CaseInsensitive) < 0; } bool JavaInstall::operator==(const JavaInstall &rhs) { - return arch == rhs.arch && id == rhs.id && path == rhs.path; + return arch == rhs.arch && id == rhs.id && path == rhs.path; } bool JavaInstall::operator>(const JavaInstall &rhs) { - return (!operator<(rhs)) && (!operator==(rhs)); + return (!operator<(rhs)) && (!operator==(rhs)); } diff --git a/api/logic/java/JavaInstall.h b/api/logic/java/JavaInstall.h index 882c7386..64be40d1 100644 --- a/api/logic/java/JavaInstall.h +++ b/api/logic/java/JavaInstall.h @@ -5,34 +5,34 @@ struct JavaInstall : public BaseVersion { - JavaInstall(){} - JavaInstall(QString id, QString arch, QString path) - : id(id), arch(arch), path(path) - { - } - virtual QString descriptor() - { - return id.toString(); - } + JavaInstall(){} + JavaInstall(QString id, QString arch, QString path) + : id(id), arch(arch), path(path) + { + } + virtual QString descriptor() + { + return id.toString(); + } - virtual QString name() - { - return id.toString(); - } + virtual QString name() + { + return id.toString(); + } - virtual QString typeString() const - { - return arch; - } + virtual QString typeString() const + { + return arch; + } - bool operator<(const JavaInstall & rhs); - bool operator==(const JavaInstall & rhs); - bool operator>(const JavaInstall & rhs); + bool operator<(const JavaInstall & rhs); + bool operator==(const JavaInstall & rhs); + bool operator>(const JavaInstall & rhs); - JavaVersion id; - QString arch; - QString path; - bool recommended = false; + JavaVersion id; + QString arch; + QString path; + bool recommended = false; }; typedef std::shared_ptr<JavaInstall> JavaInstallPtr; diff --git a/api/logic/java/JavaInstallList.cpp b/api/logic/java/JavaInstallList.cpp index 9d2e2f8b..605d4c0c 100644 --- a/api/logic/java/JavaInstallList.cpp +++ b/api/logic/java/JavaInstallList.cpp @@ -31,111 +31,111 @@ JavaInstallList::JavaInstallList(QObject *parent) : BaseVersionList(parent) shared_qobject_ptr<Task> JavaInstallList::getLoadTask() { - load(); - return getCurrentTask(); + load(); + return getCurrentTask(); } shared_qobject_ptr<Task> JavaInstallList::getCurrentTask() { - if(m_status == Status::InProgress) - { - return m_loadTask; - } - return nullptr; + if(m_status == Status::InProgress) + { + return m_loadTask; + } + return nullptr; } void JavaInstallList::load() { - if(m_status != Status::InProgress) - { - m_status = Status::InProgress; - m_loadTask = new JavaListLoadTask(this); - m_loadTask->start(); - } + if(m_status != Status::InProgress) + { + m_status = Status::InProgress; + m_loadTask = new JavaListLoadTask(this); + m_loadTask->start(); + } } const BaseVersionPtr JavaInstallList::at(int i) const { - return m_vlist.at(i); + return m_vlist.at(i); } bool JavaInstallList::isLoaded() { - return m_status == JavaInstallList::Status::Done; + return m_status == JavaInstallList::Status::Done; } int JavaInstallList::count() const { - return m_vlist.count(); + return m_vlist.count(); } QVariant JavaInstallList::data(const QModelIndex &index, int role) const { - if (!index.isValid()) - return QVariant(); - - if (index.row() > count()) - return QVariant(); - - auto version = std::dynamic_pointer_cast<JavaInstall>(m_vlist[index.row()]); - switch (role) - { - case VersionPointerRole: - return qVariantFromValue(m_vlist[index.row()]); - case VersionIdRole: - return version->descriptor(); - case VersionRole: - return version->id.toString(); - case RecommendedRole: - return version->recommended; - case PathRole: - return version->path; - case ArchitectureRole: - return version->arch; - default: - return QVariant(); - } + if (!index.isValid()) + return QVariant(); + + if (index.row() > count()) + return QVariant(); + + auto version = std::dynamic_pointer_cast<JavaInstall>(m_vlist[index.row()]); + switch (role) + { + case VersionPointerRole: + return qVariantFromValue(m_vlist[index.row()]); + case VersionIdRole: + return version->descriptor(); + case VersionRole: + return version->id.toString(); + case RecommendedRole: + return version->recommended; + case PathRole: + return version->path; + case ArchitectureRole: + return version->arch; + default: + return QVariant(); + } } BaseVersionList::RoleList JavaInstallList::providesRoles() const { - return {VersionPointerRole, VersionIdRole, VersionRole, RecommendedRole, PathRole, ArchitectureRole}; + return {VersionPointerRole, VersionIdRole, VersionRole, RecommendedRole, PathRole, ArchitectureRole}; } void JavaInstallList::updateListData(QList<BaseVersionPtr> versions) { - beginResetModel(); - m_vlist = versions; - sortVersions(); - if(m_vlist.size()) - { - auto best = std::dynamic_pointer_cast<JavaInstall>(m_vlist[0]); - best->recommended = true; - } - endResetModel(); - m_status = Status::Done; - m_loadTask.reset(); + beginResetModel(); + m_vlist = versions; + sortVersions(); + if(m_vlist.size()) + { + auto best = std::dynamic_pointer_cast<JavaInstall>(m_vlist[0]); + best->recommended = true; + } + endResetModel(); + m_status = Status::Done; + m_loadTask.reset(); } bool sortJavas(BaseVersionPtr left, BaseVersionPtr right) { - auto rleft = std::dynamic_pointer_cast<JavaInstall>(left); - auto rright = std::dynamic_pointer_cast<JavaInstall>(right); - return (*rleft) > (*rright); + auto rleft = std::dynamic_pointer_cast<JavaInstall>(left); + auto rright = std::dynamic_pointer_cast<JavaInstall>(right); + return (*rleft) > (*rright); } void JavaInstallList::sortVersions() { - beginResetModel(); - std::sort(m_vlist.begin(), m_vlist.end(), sortJavas); - endResetModel(); + beginResetModel(); + std::sort(m_vlist.begin(), m_vlist.end(), sortJavas); + endResetModel(); } JavaListLoadTask::JavaListLoadTask(JavaInstallList *vlist) : Task() { - m_list = vlist; - m_currentRecommended = NULL; + m_list = vlist; + m_currentRecommended = NULL; } JavaListLoadTask::~JavaListLoadTask() @@ -144,65 +144,65 @@ JavaListLoadTask::~JavaListLoadTask() void JavaListLoadTask::executeTask() { - setStatus(tr("Detecting Java installations...")); + setStatus(tr("Detecting Java installations...")); - JavaUtils ju; - QList<QString> candidate_paths = ju.FindJavaPaths(); + JavaUtils ju; + QList<QString> candidate_paths = ju.FindJavaPaths(); - m_job = std::shared_ptr<JavaCheckerJob>(new JavaCheckerJob("Java detection")); - connect(m_job.get(), &Task::finished, this, &JavaListLoadTask::javaCheckerFinished); - connect(m_job.get(), &Task::progress, this, &Task::setProgress); + m_job = std::shared_ptr<JavaCheckerJob>(new JavaCheckerJob("Java detection")); + connect(m_job.get(), &Task::finished, this, &JavaListLoadTask::javaCheckerFinished); + connect(m_job.get(), &Task::progress, this, &Task::setProgress); - qDebug() << "Probing the following Java paths: "; - int id = 0; - for(QString candidate : candidate_paths) - { - qDebug() << " " << candidate; + qDebug() << "Probing the following Java paths: "; + int id = 0; + for(QString candidate : candidate_paths) + { + qDebug() << " " << candidate; - auto candidate_checker = new JavaChecker(); - candidate_checker->m_path = candidate; - candidate_checker->m_id = id; - m_job->addJavaCheckerAction(JavaCheckerPtr(candidate_checker)); + auto candidate_checker = new JavaChecker(); + candidate_checker->m_path = candidate; + candidate_checker->m_id = id; + m_job->addJavaCheckerAction(JavaCheckerPtr(candidate_checker)); - id++; - } + id++; + } - m_job->start(); + m_job->start(); } void JavaListLoadTask::javaCheckerFinished() { - QList<JavaInstallPtr> candidates; - auto results = m_job->getResults(); - - qDebug() << "Found the following valid Java installations:"; - for(JavaCheckResult result : results) - { - if(result.validity == JavaCheckResult::Validity::Valid) - { - JavaInstallPtr javaVersion(new JavaInstall()); - - javaVersion->id = result.javaVersion; - javaVersion->arch = result.mojangPlatform; - javaVersion->path = result.path; - candidates.append(javaVersion); - - qDebug() << " " << javaVersion->id.toString() << javaVersion->arch << javaVersion->path; - } - } - - QList<BaseVersionPtr> javas_bvp; - for (auto java : candidates) - { - //qDebug() << java->id << java->arch << " at " << java->path; - BaseVersionPtr bp_java = std::dynamic_pointer_cast<BaseVersion>(java); - - if (bp_java) - { - javas_bvp.append(java); - } - } - - m_list->updateListData(javas_bvp); - emitSucceeded(); + QList<JavaInstallPtr> candidates; + auto results = m_job->getResults(); + + qDebug() << "Found the following valid Java installations:"; + for(JavaCheckResult result : results) + { + if(result.validity == JavaCheckResult::Validity::Valid) + { + JavaInstallPtr javaVersion(new JavaInstall()); + + javaVersion->id = result.javaVersion; + javaVersion->arch = result.mojangPlatform; + javaVersion->path = result.path; + candidates.append(javaVersion); + + qDebug() << " " << javaVersion->id.toString() << javaVersion->arch << javaVersion->path; + } + } + + QList<BaseVersionPtr> javas_bvp; + for (auto java : candidates) + { + //qDebug() << java->id << java->arch << " at " << java->path; + BaseVersionPtr bp_java = std::dynamic_pointer_cast<BaseVersion>(java); + + if (bp_java) + { + javas_bvp.append(java); + } + } + + m_list->updateListData(javas_bvp); + emitSucceeded(); } diff --git a/api/logic/java/JavaInstallList.h b/api/logic/java/JavaInstallList.h index 9ec12f87..7e72b5ef 100644 --- a/api/logic/java/JavaInstallList.h +++ b/api/logic/java/JavaInstallList.h @@ -30,52 +30,52 @@ class JavaListLoadTask; class MULTIMC_LOGIC_EXPORT JavaInstallList : public BaseVersionList { - Q_OBJECT - enum class Status - { - NotDone, - InProgress, - Done - }; + Q_OBJECT + enum class Status + { + NotDone, + InProgress, + Done + }; public: - explicit JavaInstallList(QObject *parent = 0); + explicit JavaInstallList(QObject *parent = 0); - shared_qobject_ptr<Task> getLoadTask() override; - bool isLoaded() override; - const BaseVersionPtr at(int i) const override; - int count() const override; - void sortVersions() override; + shared_qobject_ptr<Task> getLoadTask() override; + bool isLoaded() override; + const BaseVersionPtr at(int i) const override; + int count() const override; + void sortVersions() override; - QVariant data(const QModelIndex &index, int role) const override; - RoleList providesRoles() const override; + QVariant data(const QModelIndex &index, int role) const override; + RoleList providesRoles() const override; public slots: - void updateListData(QList<BaseVersionPtr> versions) override; + void updateListData(QList<BaseVersionPtr> versions) override; protected: - void load(); - shared_qobject_ptr<Task> getCurrentTask(); + void load(); + shared_qobject_ptr<Task> getCurrentTask(); protected: - Status m_status = Status::NotDone; - shared_qobject_ptr<JavaListLoadTask> m_loadTask; - QList<BaseVersionPtr> m_vlist; + Status m_status = Status::NotDone; + shared_qobject_ptr<JavaListLoadTask> m_loadTask; + QList<BaseVersionPtr> m_vlist; }; class JavaListLoadTask : public Task { - Q_OBJECT + Q_OBJECT public: - explicit JavaListLoadTask(JavaInstallList *vlist); - virtual ~JavaListLoadTask(); + explicit JavaListLoadTask(JavaInstallList *vlist); + virtual ~JavaListLoadTask(); - void executeTask() override; + void executeTask() override; public slots: - void javaCheckerFinished(); + void javaCheckerFinished(); protected: - std::shared_ptr<JavaCheckerJob> m_job; - JavaInstallList *m_list; - JavaInstall *m_currentRecommended; + std::shared_ptr<JavaCheckerJob> m_job; + JavaInstallList *m_list; + JavaInstall *m_currentRecommended; }; diff --git a/api/logic/java/JavaUtils.cpp b/api/logic/java/JavaUtils.cpp index 798c80e8..9f7fdcb0 100644 --- a/api/logic/java/JavaUtils.cpp +++ b/api/logic/java/JavaUtils.cpp @@ -34,312 +34,312 @@ JavaUtils::JavaUtils() #ifdef Q_OS_LINUX static QString processLD_LIBRARY_PATH(const QString & LD_LIBRARY_PATH) { - QDir mmcBin(QCoreApplication::applicationDirPath()); - auto items = LD_LIBRARY_PATH.split(':'); - QStringList final; - for(auto & item: items) - { - QDir test(item); - if(test == mmcBin) - { - qDebug() << "Env:LD_LIBRARY_PATH ignoring path" << item; - continue; - } - final.append(item); - } |
