From 9f35a3b803e648104b0967c4059bda2b56aa7c45 Mon Sep 17 00:00:00 2001 From: dante ruiz Date: Fri, 11 Oct 2019 15:28:35 -0700 Subject: [PATCH] setting some more testing env --- launchers/qt/src/CommandlineOptions.cpp | 5 +++++ launchers/qt/src/CommandlineOptions.h | 1 + launchers/qt/src/LauncherState.cpp | 12 +++++++++++- launchers/qt/src/LauncherState.h | 2 +- launchers/qt/src/main.cpp | 10 ++++++++++ 5 files changed, 28 insertions(+), 2 deletions(-) diff --git a/launchers/qt/src/CommandlineOptions.cpp b/launchers/qt/src/CommandlineOptions.cpp index 9254644f8f..fa60e0d236 100644 --- a/launchers/qt/src/CommandlineOptions.cpp +++ b/launchers/qt/src/CommandlineOptions.cpp @@ -26,6 +26,11 @@ void CommandlineOptions::parse(const int argc, char** argv) { } } +void CommandlineOptions::append(const std::string& command) { + qDebug() << "appending option: " << QString::fromStdString(command); + _commandlineOptions.push_back(command); +} + CommandlineOptions* CommandlineOptions::getInstance() { static CommandlineOptions commandlineOptions; return &commandlineOptions; diff --git a/launchers/qt/src/CommandlineOptions.h b/launchers/qt/src/CommandlineOptions.h index 4a34bd1337..2b0937b3ae 100644 --- a/launchers/qt/src/CommandlineOptions.h +++ b/launchers/qt/src/CommandlineOptions.h @@ -10,6 +10,7 @@ public: void parse(const int argc, char** argv); bool contains(const std::string& option); + void append(const std::string& command); static CommandlineOptions* getInstance(); private: std::vector _commandlineOptions; diff --git a/launchers/qt/src/LauncherState.cpp b/launchers/qt/src/LauncherState.cpp index 18774dc481..763718a08e 100644 --- a/launchers/qt/src/LauncherState.cpp +++ b/launchers/qt/src/LauncherState.cpp @@ -230,8 +230,18 @@ void LauncherState::requestBuilds() { request->send(_networkAccessManager); } +QString LauncherState::getBuildVersion() { + QString buildVersion { LAUNCHER_BUILD_VERSION }; + QProcessEnvironment processEnvironment = QProcessEnvironment::systemEnvironment(); + if (processEnvironment.contains("HQ_LAUNCHER_BUILD_VERSION")) { + buildVersion = processEnvironment.value("HQ_LAUNCHER_BUILD_VERSION"); + } + + return buildVersion; +} + bool LauncherState::shouldDownloadLauncher() { - return _latestBuilds.launcherBuild.latestVersion != atoi(LAUNCHER_BUILD_VERSION); + return _latestBuilds.launcherBuild.latestVersion != getBuildVersion().toInt(); } void LauncherState::getCurrentClientVersion() { diff --git a/launchers/qt/src/LauncherState.h b/launchers/qt/src/LauncherState.h index 32ab9bb9e9..11a8fbaaaf 100644 --- a/launchers/qt/src/LauncherState.h +++ b/launchers/qt/src/LauncherState.h @@ -94,7 +94,7 @@ public: void setLastSignupErrorMessage(const QString& msg); QString getLastSignupErrorMessage() const { return _lastSignupErrorMessage; } - QString getBuildVersion() { return QString(LAUNCHER_BUILD_VERSION); } + QString getBuildVersion(); QString getLastUsedUsername() const { return _lastUsedUsername; } void setApplicationStateError(QString errorMessage); diff --git a/launchers/qt/src/main.cpp b/launchers/qt/src/main.cpp index ee3256dc66..4e0e1b7437 100644 --- a/launchers/qt/src/main.cpp +++ b/launchers/qt/src/main.cpp @@ -7,6 +7,7 @@ #include "CommandlineOptions.h" #include #include +#include #include "Helper.h" #ifdef Q_OS_WIN @@ -36,6 +37,7 @@ int main(int argc, char *argv[]) { Q_INIT_RESOURCE(resources); cleanLogFile(); qInstallMessageHandler(messageHandler); + bool didUpdate = false; #ifdef Q_OS_MAC if (isLauncherAlreadyRunning()) { return 0; @@ -44,6 +46,7 @@ int main(int argc, char *argv[]) { if (argc == 3) { if (hasSuffix(argv[1], "app") && hasSuffix(argv[2], "app")) { swapLaunchers(argv[1], argv[2]); + didUpdate = true; } } #endif @@ -64,6 +67,13 @@ int main(int argc, char *argv[]) { } #endif + + QProcessEnvironment processEnvironment = QProcessEnvironment::systemEnvironment(); + if (processEnvironment.contains("HQ_LAUNCHER_BUILD_VERSION")) { + if (didUpdate || options->contains("--restart")) { + options->append("--noUpdate"); + } + } Launcher launcher(argc, argv); return launcher.exec(); }