Get rid of long rebuilds because of minor cmake config changes
This commit is contained in:
parent
ad9d082f57
commit
42e305bb9d
@ -179,7 +179,7 @@ ELSE()
|
|||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
######## Configure header ########
|
######## Configure header ########
|
||||||
configure_file("${PROJECT_SOURCE_DIR}/config.h.in" "${PROJECT_BINARY_DIR}/include/config.h")
|
configure_file("${PROJECT_SOURCE_DIR}/Config.cpp.in" "${PROJECT_BINARY_DIR}/Config.cpp")
|
||||||
|
|
||||||
|
|
||||||
######## Other Stuff ########
|
######## Other Stuff ########
|
||||||
@ -257,8 +257,9 @@ SET(MULTIMC_SOURCES
|
|||||||
# Application base
|
# Application base
|
||||||
MultiMC.h
|
MultiMC.h
|
||||||
MultiMC.cpp
|
MultiMC.cpp
|
||||||
MultiMCVersion.h
|
|
||||||
MMCError.h
|
MMCError.h
|
||||||
|
Config.h
|
||||||
|
${PROJECT_BINARY_DIR}/Config.cpp
|
||||||
|
|
||||||
# Logging
|
# Logging
|
||||||
logger/QsDebugOutput.cpp
|
logger/QsDebugOutput.cpp
|
||||||
|
65
Config.cpp.in
Normal file
65
Config.cpp.in
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
#include "Config.h"
|
||||||
|
|
||||||
|
Config BuildConfig;
|
||||||
|
|
||||||
|
Config::Config()
|
||||||
|
{
|
||||||
|
static bool ON = true;
|
||||||
|
static bool OFF = false;
|
||||||
|
// Version information
|
||||||
|
VERSION_MAJOR = @MultiMC_VERSION_MAJOR@;
|
||||||
|
VERSION_MINOR = @MultiMC_VERSION_MINOR@;
|
||||||
|
VERSION_HOTFIX = @MultiMC_VERSION_HOTFIX@;
|
||||||
|
VERSION_BUILD = @MultiMC_VERSION_BUILD@;
|
||||||
|
VERSION_TYPE = "@MultiMC_VERSION_TYPE@";
|
||||||
|
|
||||||
|
if(VERSION_TYPE == "Release")
|
||||||
|
versionTypeEnum = Release;
|
||||||
|
else if(VERSION_TYPE == "ReleaseCandidate")
|
||||||
|
versionTypeEnum = ReleaseCandidate;
|
||||||
|
else if(VERSION_TYPE == "Development")
|
||||||
|
versionTypeEnum = Development;
|
||||||
|
else
|
||||||
|
versionTypeEnum = Custom;
|
||||||
|
VERSION_CHANNEL = "@MultiMC_VERSION_CHANNEL@";
|
||||||
|
BUILD_PLATFORM = "@MultiMC_BUILD_PLATFORM@";
|
||||||
|
CHANLIST_URL = "@MultiMC_CHANLIST_URL@";
|
||||||
|
NOTIFICATION_URL = "@MultiMC_NOTIFICATION_URL@";
|
||||||
|
FULL_VERSION_STR = "@MultiMC_VERSION_MAJOR@.@MultiMC_VERSION_MINOR@.@MultiMC_VERSION_BUILD@";
|
||||||
|
|
||||||
|
UPDATER_DRY_RUN = @MultiMC_UPDATER_DRY_RUN@;
|
||||||
|
UPDATER_FORCE_LOCAL = @MultiMC_UPDATER_FORCE_LOCAL@;
|
||||||
|
|
||||||
|
GIT_COMMIT = "@MultiMC_GIT_COMMIT@";
|
||||||
|
VERSION_STR = "@MultiMC_VERSION_STRING@";
|
||||||
|
NEWS_RSS_URL = "@MultiMC_NEWS_RSS_URL@";
|
||||||
|
}
|
||||||
|
|
||||||
|
QString Config::versionTypeName() const
|
||||||
|
{
|
||||||
|
switch (versionTypeEnum)
|
||||||
|
{
|
||||||
|
case Release:
|
||||||
|
return "Stable Release";
|
||||||
|
case ReleaseCandidate:
|
||||||
|
return "Release Candidate";
|
||||||
|
case Development:
|
||||||
|
return "Development";
|
||||||
|
case Custom:
|
||||||
|
default:
|
||||||
|
return "Custom";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QString Config::printableVersionString() const
|
||||||
|
{
|
||||||
|
QString vstr = QString("%1.%2").arg(QString::number(VERSION_MAJOR), QString::number(VERSION_MINOR));
|
||||||
|
|
||||||
|
if (VERSION_HOTFIX > 0) vstr += "." + QString::number(VERSION_HOTFIX);
|
||||||
|
|
||||||
|
// If the build is a development build or release candidate, add that info to the end.
|
||||||
|
if (versionTypeEnum == Development) vstr += "-dev" + QString::number(VERSION_BUILD);
|
||||||
|
else if (versionTypeEnum == ReleaseCandidate) vstr += "-rc" + QString::number(VERSION_BUILD);
|
||||||
|
|
||||||
|
return vstr;
|
||||||
|
}
|
86
Config.h
Normal file
86
Config.h
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief The Config class holds all the build-time information passed from the build system.
|
||||||
|
*/
|
||||||
|
class Config
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Config();
|
||||||
|
/// The major version number.
|
||||||
|
int VERSION_MAJOR;
|
||||||
|
/// The minor version number.
|
||||||
|
int VERSION_MINOR;
|
||||||
|
/// The hotfix number.
|
||||||
|
int VERSION_HOTFIX;
|
||||||
|
/// The build number.
|
||||||
|
int VERSION_BUILD;
|
||||||
|
/// The build type, as specified at build time.
|
||||||
|
QString VERSION_TYPE;
|
||||||
|
|
||||||
|
/// The build type, transformed.
|
||||||
|
enum Type
|
||||||
|
{
|
||||||
|
/// Version type for stable release builds.
|
||||||
|
Release,
|
||||||
|
|
||||||
|
/// Version type for release candidates.
|
||||||
|
ReleaseCandidate,
|
||||||
|
|
||||||
|
/// Version type for development builds.
|
||||||
|
Development,
|
||||||
|
|
||||||
|
/// Version type for custom builds. This is the default when no version type is specified.
|
||||||
|
Custom
|
||||||
|
} versionTypeEnum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The version channel
|
||||||
|
* This is used by the updater to determine what channel the current version came from.
|
||||||
|
*/
|
||||||
|
QString VERSION_CHANNEL;
|
||||||
|
|
||||||
|
/// A short string identifying this build's platform. For example, "lin64" or "win32".
|
||||||
|
QString BUILD_PLATFORM;
|
||||||
|
|
||||||
|
/// URL for the updater's channel
|
||||||
|
QString CHANLIST_URL;
|
||||||
|
|
||||||
|
/// URL for notifications
|
||||||
|
QString NOTIFICATION_URL;
|
||||||
|
|
||||||
|
/// Used for matching notifications
|
||||||
|
QString FULL_VERSION_STR;
|
||||||
|
|
||||||
|
/// enabled for updater dry run
|
||||||
|
bool UPDATER_DRY_RUN;
|
||||||
|
|
||||||
|
/// enabled for updater dry run
|
||||||
|
bool UPDATER_FORCE_LOCAL;
|
||||||
|
|
||||||
|
/// The commit hash of this build
|
||||||
|
QString GIT_COMMIT;
|
||||||
|
|
||||||
|
/// This is printed on start to standard output
|
||||||
|
QString VERSION_STR;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is used to fetch the news RSS feed.
|
||||||
|
* It defaults in CMakeLists.txt to "http://multimc.org/rss.xml"
|
||||||
|
*/
|
||||||
|
QString NEWS_RSS_URL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Converts the Version to a string.
|
||||||
|
* \return The version number in string format (major.minor.revision.build).
|
||||||
|
*/
|
||||||
|
QString printableVersionString() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns a string representation of the version channel type, suitable for printing.
|
||||||
|
*/
|
||||||
|
QString versionTypeName() const;
|
||||||
|
};
|
||||||
|
|
||||||
|
extern Config BuildConfig;
|
18
MultiMC.cpp
18
MultiMC.cpp
@ -1,4 +1,6 @@
|
|||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
|
#include "Config.h"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
@ -50,9 +52,7 @@ static const int APPDATA_BUFFER_SIZE = 1024;
|
|||||||
using namespace Util::Commandline;
|
using namespace Util::Commandline;
|
||||||
|
|
||||||
MultiMC::MultiMC(int &argc, char **argv, bool root_override)
|
MultiMC::MultiMC(int &argc, char **argv, bool root_override)
|
||||||
: QApplication(argc, argv),
|
: QApplication(argc, argv)
|
||||||
m_version{VERSION_MAJOR, VERSION_MINOR, VERSION_HOTFIX, VERSION_BUILD,
|
|
||||||
MultiMCVersion::VERSION_TYPE, VERSION_CHANNEL, BUILD_PLATFORM}
|
|
||||||
{
|
{
|
||||||
setOrganizationName("MultiMC");
|
setOrganizationName("MultiMC");
|
||||||
setApplicationName("MultiMC5");
|
setApplicationName("MultiMC5");
|
||||||
@ -111,8 +111,8 @@ MultiMC::MultiMC(int &argc, char **argv, bool root_override)
|
|||||||
// display version and exit
|
// display version and exit
|
||||||
if (args["version"].toBool())
|
if (args["version"].toBool())
|
||||||
{
|
{
|
||||||
std::cout << "Version " << VERSION_STR << std::endl;
|
std::cout << "Version " << BuildConfig.VERSION_STR.toStdString() << std::endl;
|
||||||
std::cout << "Git " << GIT_COMMIT << std::endl;
|
std::cout << "Git " << BuildConfig.GIT_COMMIT.toStdString() << std::endl;
|
||||||
m_status = MultiMC::Succeeded;
|
m_status = MultiMC::Succeeded;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -165,8 +165,8 @@ MultiMC::MultiMC(int &argc, char **argv, bool root_override)
|
|||||||
initLogger();
|
initLogger();
|
||||||
|
|
||||||
QLOG_INFO() << "MultiMC 5, (c) 2013 MultiMC Contributors";
|
QLOG_INFO() << "MultiMC 5, (c) 2013 MultiMC Contributors";
|
||||||
QLOG_INFO() << "Version : " << VERSION_STR;
|
QLOG_INFO() << "Version : " << BuildConfig.VERSION_STR;
|
||||||
QLOG_INFO() << "Git commit : " << GIT_COMMIT;
|
QLOG_INFO() << "Git commit : " << BuildConfig.GIT_COMMIT;
|
||||||
if (adjustedBy.size())
|
if (adjustedBy.size())
|
||||||
{
|
{
|
||||||
QLOG_INFO() << "Work dir before adjustment : " << origcwdPath;
|
QLOG_INFO() << "Work dir before adjustment : " << origcwdPath;
|
||||||
@ -193,7 +193,7 @@ MultiMC::MultiMC(int &argc, char **argv, bool root_override)
|
|||||||
m_notificationChecker.reset(new NotificationChecker());
|
m_notificationChecker.reset(new NotificationChecker());
|
||||||
|
|
||||||
// initialize the news checker
|
// initialize the news checker
|
||||||
m_newsChecker.reset(new NewsChecker(NEWS_RSS_URL));
|
m_newsChecker.reset(new NewsChecker(BuildConfig.NEWS_RSS_URL));
|
||||||
|
|
||||||
// initialize the status checker
|
// initialize the status checker
|
||||||
m_statusChecker.reset(new StatusChecker());
|
m_statusChecker.reset(new StatusChecker());
|
||||||
@ -333,7 +333,7 @@ void MultiMC::initGlobalSettings()
|
|||||||
{
|
{
|
||||||
m_settings.reset(new INISettingsObject("multimc.cfg", this));
|
m_settings.reset(new INISettingsObject("multimc.cfg", this));
|
||||||
// Updates
|
// Updates
|
||||||
m_settings->registerSetting("UpdateChannel", version().channel);
|
m_settings->registerSetting("UpdateChannel", BuildConfig.VERSION_CHANNEL);
|
||||||
m_settings->registerSetting("AutoUpdate", true);
|
m_settings->registerSetting("AutoUpdate", true);
|
||||||
|
|
||||||
// Notifications
|
// Notifications
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include "MultiMCVersion.h"
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include "logger/QsLog.h"
|
#include "logger/QsLog.h"
|
||||||
#include "logger/QsLogDest.h"
|
#include "logger/QsLogDest.h"
|
||||||
@ -87,11 +85,6 @@ public:
|
|||||||
return m_status;
|
return m_status;
|
||||||
}
|
}
|
||||||
|
|
||||||
MultiMCVersion version()
|
|
||||||
{
|
|
||||||
return m_version;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<QNetworkAccessManager> qnam()
|
std::shared_ptr<QNetworkAccessManager> qnam()
|
||||||
{
|
{
|
||||||
return m_qnam;
|
return m_qnam;
|
||||||
@ -227,5 +220,4 @@ private:
|
|||||||
QString origcwdPath;
|
QString origcwdPath;
|
||||||
|
|
||||||
Status m_status = MultiMC::Failed;
|
Status m_status = MultiMC::Failed;
|
||||||
MultiMCVersion m_version;
|
|
||||||
};
|
};
|
||||||
|
@ -1,96 +0,0 @@
|
|||||||
/* Copyright 2013 MultiMC Contributors
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <QString>
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* \brief The Version class represents a MultiMC version.
|
|
||||||
*/
|
|
||||||
struct MultiMCVersion
|
|
||||||
{
|
|
||||||
enum Type
|
|
||||||
{
|
|
||||||
//! Version type for stable release builds.
|
|
||||||
Release,
|
|
||||||
|
|
||||||
//! Version type for release candidates.
|
|
||||||
ReleaseCandidate,
|
|
||||||
|
|
||||||
//! Version type for development builds.
|
|
||||||
Development,
|
|
||||||
|
|
||||||
//! Version type for custom builds. This is the default when no version type is specified.
|
|
||||||
Custom
|
|
||||||
};
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* \brief Converts the Version to a string.
|
|
||||||
* \return The version number in string format (major.minor.revision.build).
|
|
||||||
*/
|
|
||||||
QString toString() const
|
|
||||||
{
|
|
||||||
QString vstr = QString("%1.%2").arg(
|
|
||||||
QString::number(major),
|
|
||||||
QString::number(minor));
|
|
||||||
|
|
||||||
if (hotfix > 0) vstr += "." + QString::number(hotfix);
|
|
||||||
|
|
||||||
// If the build is a development build or release candidate, add that info to the end.
|
|
||||||
if (type == Development) vstr += "-dev" + QString::number(build);
|
|
||||||
else if (type == ReleaseCandidate) vstr += "-rc" + QString::number(build);
|
|
||||||
|
|
||||||
return vstr;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString typeName() const
|
|
||||||
{
|
|
||||||
switch (type)
|
|
||||||
{
|
|
||||||
case Release:
|
|
||||||
return "Stable Release";
|
|
||||||
case ReleaseCandidate:
|
|
||||||
return "Release Candidate";
|
|
||||||
case Development:
|
|
||||||
return "Development";
|
|
||||||
case Custom:
|
|
||||||
default:
|
|
||||||
return "Custom";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//! The major version number.
|
|
||||||
int major;
|
|
||||||
|
|
||||||
//! The minor version number.
|
|
||||||
int minor;
|
|
||||||
|
|
||||||
//! The hotfix number.
|
|
||||||
int hotfix;
|
|
||||||
|
|
||||||
//! The build number.
|
|
||||||
int build;
|
|
||||||
|
|
||||||
//! The build type.
|
|
||||||
Type type;
|
|
||||||
|
|
||||||
//! The build channel.
|
|
||||||
QString channel;
|
|
||||||
|
|
||||||
//! A short string identifying the platform that this version is for. For example, lin64 or win32.
|
|
||||||
QString platform;
|
|
||||||
};
|
|
||||||
|
|
40
config.h.in
40
config.h.in
@ -1,40 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
// Version information
|
|
||||||
#define VERSION_MAJOR @MultiMC_VERSION_MAJOR@
|
|
||||||
#define VERSION_MINOR @MultiMC_VERSION_MINOR@
|
|
||||||
#define VERSION_HOTFIX @MultiMC_VERSION_HOTFIX@
|
|
||||||
#define VERSION_BUILD @MultiMC_VERSION_BUILD@
|
|
||||||
#define VERSION_TYPE @MultiMC_VERSION_TYPE@
|
|
||||||
|
|
||||||
// The version channel. This is used by the updater to determine what channel the current version came from.
|
|
||||||
#define VERSION_CHANNEL "@MultiMC_VERSION_CHANNEL@"
|
|
||||||
|
|
||||||
// A short string identifying this build's platform. For example, "lin64" or "win32".
|
|
||||||
#define BUILD_PLATFORM "@MultiMC_BUILD_PLATFORM@"
|
|
||||||
|
|
||||||
// URL for the updater's channel
|
|
||||||
#define CHANLIST_URL "@MultiMC_CHANLIST_URL@"
|
|
||||||
|
|
||||||
// URL for notifications
|
|
||||||
#define NOTIFICATION_URL "@MultiMC_NOTIFICATION_URL@"
|
|
||||||
|
|
||||||
// Used for matching notifications
|
|
||||||
#define FULL_VERSION_STR "@MultiMC_VERSION_MAJOR@.@MultiMC_VERSION_MINOR@.@MultiMC_VERSION_BUILD@"
|
|
||||||
|
|
||||||
// enabled for updater dry run
|
|
||||||
#cmakedefine MultiMC_UPDATER_DRY_RUN
|
|
||||||
|
|
||||||
// enabled for updater dry run
|
|
||||||
#cmakedefine MultiMC_UPDATER_FORCE_LOCAL
|
|
||||||
|
|
||||||
// The commit hash of this build
|
|
||||||
#define GIT_COMMIT "@MultiMC_GIT_COMMIT@"
|
|
||||||
|
|
||||||
// This is printed on start to standard output
|
|
||||||
#define VERSION_STR "@MultiMC_VERSION_STRING@"
|
|
||||||
|
|
||||||
// This is used to fetch the news RSS feed.
|
|
||||||
// It defaults in CMakeLists.txt to "http://multimc.org/rss.xml"
|
|
||||||
#define NEWS_RSS_URL "@MultiMC_NEWS_RSS_URL@"
|
|
||||||
|
|
@ -17,6 +17,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
|
#include "Config.h"
|
||||||
|
|
||||||
#include "MainWindow.h"
|
#include "MainWindow.h"
|
||||||
#include "ui_MainWindow.h"
|
#include "ui_MainWindow.h"
|
||||||
@ -107,9 +108,9 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
|||||||
MultiMCPlatform::fixWM_CLASS(this);
|
MultiMCPlatform::fixWM_CLASS(this);
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
QString winTitle = QString("MultiMC 5 - Version %1").arg(MMC->version().toString());
|
QString winTitle = QString("MultiMC 5 - Version %1").arg(BuildConfig.printableVersionString());
|
||||||
if (!MMC->version().platform.isEmpty())
|
if (!BuildConfig.BUILD_PLATFORM.isEmpty())
|
||||||
winTitle += " on " + MMC->version().platform;
|
winTitle += " on " + BuildConfig.BUILD_PLATFORM;
|
||||||
setWindowTitle(winTitle);
|
setWindowTitle(winTitle);
|
||||||
|
|
||||||
// OSX magic.
|
// OSX magic.
|
||||||
@ -709,9 +710,8 @@ void MainWindow::downloadUpdates(QString repo, int versionId, bool installOnExit
|
|||||||
if (updateDlg.exec(&updateTask))
|
if (updateDlg.exec(&updateTask))
|
||||||
{
|
{
|
||||||
UpdateFlags baseFlags = None;
|
UpdateFlags baseFlags = None;
|
||||||
#ifdef MultiMC_UPDATER_DRY_RUN
|
if(BuildConfig.UPDATER_DRY_RUN)
|
||||||
baseFlags |= DryRun;
|
baseFlags |= DryRun;
|
||||||
#endif
|
|
||||||
if (installOnExit)
|
if (installOnExit)
|
||||||
MMC->installUpdates(updateTask.updateFilesDir(), baseFlags | OnExit);
|
MMC->installUpdates(updateTask.updateFilesDir(), baseFlags | OnExit);
|
||||||
else
|
else
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
#include <QIcon>
|
#include <QIcon>
|
||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
#include "gui/Platform.h"
|
#include "gui/Platform.h"
|
||||||
|
#include "Config.h"
|
||||||
|
|
||||||
AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent), ui(new Ui::AboutDialog)
|
AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent), ui(new Ui::AboutDialog)
|
||||||
{
|
{
|
||||||
@ -27,19 +28,19 @@ AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent), ui(new Ui::AboutDia
|
|||||||
ui->urlLabel->setOpenExternalLinks(true);
|
ui->urlLabel->setOpenExternalLinks(true);
|
||||||
|
|
||||||
ui->icon->setPixmap(QIcon(":/icons/multimc/scalable/apps/multimc.svg").pixmap(64));
|
ui->icon->setPixmap(QIcon(":/icons/multimc/scalable/apps/multimc.svg").pixmap(64));
|
||||||
ui->title->setText("MultiMC 5 " + MMC->version().toString());
|
ui->title->setText("MultiMC 5 " + BuildConfig.printableVersionString());
|
||||||
|
|
||||||
ui->versionLabel->setText(tr("Version") +": " + MMC->version().toString());
|
ui->versionLabel->setText(tr("Version") +": " + BuildConfig.printableVersionString());
|
||||||
ui->vtypeLabel->setText(tr("Version Type") +": " + MMC->version().typeName());
|
ui->vtypeLabel->setText(tr("Version Type") +": " + BuildConfig.versionTypeName());
|
||||||
ui->platformLabel->setText(tr("Platform") +": " + MMC->version().platform);
|
ui->platformLabel->setText(tr("Platform") +": " + BuildConfig.BUILD_PLATFORM);
|
||||||
|
|
||||||
if (MMC->version().build >= 0)
|
if (BuildConfig.VERSION_BUILD >= 0)
|
||||||
ui->buildNumLabel->setText(tr("Build Number") +": " + QString::number(MMC->version().build));
|
ui->buildNumLabel->setText(tr("Build Number") +": " + QString::number(BuildConfig.VERSION_BUILD));
|
||||||
else
|
else
|
||||||
ui->buildNumLabel->setVisible(false);
|
ui->buildNumLabel->setVisible(false);
|
||||||
|
|
||||||
if (!MMC->version().channel.isEmpty())
|
if (!BuildConfig.VERSION_CHANNEL.isEmpty())
|
||||||
ui->channelLabel->setText(tr("Channel") +": " + MMC->version().channel);
|
ui->channelLabel->setText(tr("Channel") +": " + BuildConfig.VERSION_CHANNEL);
|
||||||
else
|
else
|
||||||
ui->channelLabel->setVisible(false);
|
ui->channelLabel->setVisible(false);
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
|
#include "Config.h"
|
||||||
|
|
||||||
#include "MinecraftProcess.h"
|
#include "MinecraftProcess.h"
|
||||||
|
|
||||||
@ -432,7 +433,7 @@ QStringList MinecraftProcess::javaArguments() const
|
|||||||
|
|
||||||
void MinecraftProcess::arm()
|
void MinecraftProcess::arm()
|
||||||
{
|
{
|
||||||
emit log("MultiMC version: " + MMC->version().toString() + "\n\n");
|
emit log("MultiMC version: " + BuildConfig.printableVersionString() + "\n\n");
|
||||||
emit log("Minecraft folder is:\n" + workingDirectory() + "\n\n");
|
emit log("Minecraft folder is:\n" + workingDirectory() + "\n\n");
|
||||||
|
|
||||||
if (!preLaunch())
|
if (!preLaunch())
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
#include "DownloadUpdateTask.h"
|
#include "DownloadUpdateTask.h"
|
||||||
|
|
||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
|
#include "Config.h"
|
||||||
|
|
||||||
#include "logic/updater/UpdateChecker.h"
|
#include "logic/updater/UpdateChecker.h"
|
||||||
#include "logic/net/NetJob.h"
|
#include "logic/net/NetJob.h"
|
||||||
#include "pathutils.h"
|
#include "pathutils.h"
|
||||||
@ -29,7 +31,7 @@
|
|||||||
DownloadUpdateTask::DownloadUpdateTask(QString repoUrl, int versionId, QObject *parent)
|
DownloadUpdateTask::DownloadUpdateTask(QString repoUrl, int versionId, QObject *parent)
|
||||||
: Task(parent)
|
: Task(parent)
|
||||||
{
|
{
|
||||||
m_cVersionId = MMC->version().build;
|
m_cVersionId = BuildConfig.VERSION_BUILD;
|
||||||
|
|
||||||
m_nRepoUrl = repoUrl;
|
m_nRepoUrl = repoUrl;
|
||||||
m_nVersionId = versionId;
|
m_nVersionId = versionId;
|
||||||
@ -58,7 +60,7 @@ void DownloadUpdateTask::processChannels()
|
|||||||
}
|
}
|
||||||
|
|
||||||
QList<UpdateChecker::ChannelListEntry> channels = checker->getChannelList();
|
QList<UpdateChecker::ChannelListEntry> channels = checker->getChannelList();
|
||||||
QString channelId = MMC->version().channel;
|
QString channelId = BuildConfig.VERSION_CHANNEL;
|
||||||
|
|
||||||
m_cRepoUrl.clear();
|
m_cRepoUrl.clear();
|
||||||
// Search through the channel list for a channel with the correct ID.
|
// Search through the channel list for a channel with the correct ID.
|
||||||
@ -405,9 +407,10 @@ DownloadUpdateTask::processFileLists(NetJob *job,
|
|||||||
|
|
||||||
if (isUpdater)
|
if (isUpdater)
|
||||||
{
|
{
|
||||||
#ifdef MultiMC_UPDATER_FORCE_LOCAL
|
if(BuildConfig.UPDATER_FORCE_LOCAL)
|
||||||
QLOG_DEBUG() << "Skipping updater download and using local version.";
|
QLOG_DEBUG() << "Skipping updater download and using local version.";
|
||||||
#else
|
else
|
||||||
|
{
|
||||||
auto cache_entry = MMC->metacache()->resolveEntry("root", entry.path);
|
auto cache_entry = MMC->metacache()->resolveEntry("root", entry.path);
|
||||||
QLOG_DEBUG() << "Updater will be in " << cache_entry->getFullPath();
|
QLOG_DEBUG() << "Updater will be in " << cache_entry->getFullPath();
|
||||||
// force check.
|
// force check.
|
||||||
@ -415,7 +418,7 @@ DownloadUpdateTask::processFileLists(NetJob *job,
|
|||||||
|
|
||||||
auto download = CacheDownload::make(QUrl(source.url), cache_entry);
|
auto download = CacheDownload::make(QUrl(source.url), cache_entry);
|
||||||
job->addNetAction(download);
|
job->addNetAction(download);
|
||||||
#endif
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
#include <QJsonArray>
|
#include <QJsonArray>
|
||||||
|
|
||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
#include "MultiMCVersion.h"
|
#include "Config.h"
|
||||||
#include "logic/net/CacheDownload.h"
|
#include "logic/net/CacheDownload.h"
|
||||||
|
|
||||||
NotificationChecker::NotificationChecker(QObject *parent)
|
NotificationChecker::NotificationChecker(QObject *parent)
|
||||||
: QObject(parent), m_notificationsUrl(QUrl(NOTIFICATION_URL))
|
: QObject(parent), m_notificationsUrl(QUrl(BuildConfig.NOTIFICATION_URL))
|
||||||
{
|
{
|
||||||
// this will call checkForNotifications once the event loop is running
|
// this will call checkForNotifications once the event loop is running
|
||||||
QMetaObject::invokeMethod(this, "checkForNotifications", Qt::QueuedConnection);
|
QMetaObject::invokeMethod(this, "checkForNotifications", Qt::QueuedConnection);
|
||||||
@ -93,13 +93,12 @@ void NotificationChecker::downloadSucceeded(int)
|
|||||||
|
|
||||||
bool NotificationChecker::NotificationEntry::applies() const
|
bool NotificationChecker::NotificationEntry::applies() const
|
||||||
{
|
{
|
||||||
MultiMCVersion version = MMC->version();
|
bool channelApplies = channel.isEmpty() || channel == BuildConfig.VERSION_CHANNEL;
|
||||||
bool channelApplies = channel.isEmpty() || channel == version.channel;
|
bool platformApplies = platform.isEmpty() || platform == BuildConfig.BUILD_PLATFORM;
|
||||||
bool platformApplies = platform.isEmpty() || platform == version.platform;
|
|
||||||
bool fromApplies =
|
bool fromApplies =
|
||||||
from.isEmpty() || from == FULL_VERSION_STR || !versionLessThan(FULL_VERSION_STR, from);
|
from.isEmpty() || from == BuildConfig.FULL_VERSION_STR || !versionLessThan(BuildConfig.FULL_VERSION_STR, from);
|
||||||
bool toApplies =
|
bool toApplies =
|
||||||
to.isEmpty() || to == FULL_VERSION_STR || !versionLessThan(to, FULL_VERSION_STR);
|
to.isEmpty() || to == BuildConfig.FULL_VERSION_STR || !versionLessThan(to, BuildConfig.FULL_VERSION_STR);
|
||||||
return channelApplies && platformApplies && fromApplies && toApplies;
|
return channelApplies && platformApplies && fromApplies && toApplies;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
#include "UpdateChecker.h"
|
#include "UpdateChecker.h"
|
||||||
|
|
||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
|
#include "Config.h"
|
||||||
|
|
||||||
#include "logger/QsLog.h"
|
#include "logger/QsLog.h"
|
||||||
|
|
||||||
@ -30,7 +31,7 @@
|
|||||||
|
|
||||||
UpdateChecker::UpdateChecker()
|
UpdateChecker::UpdateChecker()
|
||||||
{
|
{
|
||||||
m_channelListUrl = CHANLIST_URL;
|
m_channelListUrl = BuildConfig.CHANLIST_URL;
|
||||||
m_updateChecking = false;
|
m_updateChecking = false;
|
||||||
m_chanListLoading = false;
|
m_chanListLoading = false;
|
||||||
m_checkUpdateWaiting = false;
|
m_checkUpdateWaiting = false;
|
||||||
@ -148,7 +149,7 @@ void UpdateChecker::updateCheckFinished(bool notifyNoUpdate)
|
|||||||
// We've got the version with the greatest ID number. Now compare it to our current build
|
// We've got the version with the greatest ID number. Now compare it to our current build
|
||||||
// number and update if they're different.
|
// number and update if they're different.
|
||||||
int newBuildNumber = newestVersion.value("Id").toVariant().toInt();
|
int newBuildNumber = newestVersion.value("Id").toVariant().toInt();
|
||||||
if (newBuildNumber != MMC->version().build)
|
if (newBuildNumber != BuildConfig.VERSION_BUILD)
|
||||||
{
|
{
|
||||||
QLOG_DEBUG() << "Found newer version with ID" << newBuildNumber;
|
QLOG_DEBUG() << "Found newer version with ID" << newBuildNumber;
|
||||||
// Update!
|
// Update!
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
#include "depends/settings/settingsobject.h"
|
#include "depends/settings/settingsobject.h"
|
||||||
#include "depends/settings/setting.h"
|
#include "depends/settings/setting.h"
|
||||||
|
|
||||||
|
#include "Config.h"
|
||||||
#include "TestUtil.h"
|
#include "TestUtil.h"
|
||||||
#include "logic/updater/UpdateChecker.h"
|
#include "logic/updater/UpdateChecker.h"
|
||||||
|
|
||||||
@ -154,7 +155,7 @@ slots:
|
|||||||
QFETCH(QList<QVariant>, result);
|
QFETCH(QList<QVariant>, result);
|
||||||
|
|
||||||
MMC->settings()->set("UpdateChannel", channel);
|
MMC->settings()->set("UpdateChannel", channel);
|
||||||
MMC->m_version.build = currentBuild;
|
BuildConfig.VERSION_BUILD = currentBuild;
|
||||||
|
|
||||||
UpdateChecker checker;
|
UpdateChecker checker;
|
||||||
checker.setChannelListUrl(channelUrl);
|
checker.setChannelListUrl(channelUrl);
|
||||||
|
Loading…
Reference in New Issue
Block a user