Use the central URL list for forge URLs
This commit is contained in:
		@@ -15,6 +15,7 @@
 | 
			
		||||
 | 
			
		||||
#include "ForgeVersionList.h"
 | 
			
		||||
#include <logic/net/NetJob.h>
 | 
			
		||||
#include <logic/net/URLConstants.h>
 | 
			
		||||
#include "MultiMC.h"
 | 
			
		||||
 | 
			
		||||
#include <QtNetwork>
 | 
			
		||||
@@ -23,9 +24,6 @@
 | 
			
		||||
 | 
			
		||||
#include "logger/QsLog.h"
 | 
			
		||||
 | 
			
		||||
#define JSON_URL "http://files.minecraftforge.net/minecraftforge/json"
 | 
			
		||||
#define GRADLE_JSON_URL "http://files.minecraftforge.net/maven/net/minecraftforge/forge/json"
 | 
			
		||||
 | 
			
		||||
ForgeVersionList::ForgeVersionList(QObject *parent) : BaseVersionList(parent)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
@@ -170,8 +168,10 @@ void ForgeListLoadTask::executeTask()
 | 
			
		||||
	forgeListEntry->stale = true;
 | 
			
		||||
	gradleForgeListEntry->stale = true;
 | 
			
		||||
 | 
			
		||||
	job->addNetAction(listDownload = CacheDownload::make(QUrl(JSON_URL), forgeListEntry));
 | 
			
		||||
	job->addNetAction(gradleListDownload = CacheDownload::make(QUrl(GRADLE_JSON_URL), gradleForgeListEntry));
 | 
			
		||||
	job->addNetAction(listDownload = CacheDownload::make(QUrl(URLConstants::FORGE_LEGACY_URL),
 | 
			
		||||
														 forgeListEntry));
 | 
			
		||||
	job->addNetAction(gradleListDownload = CacheDownload::make(
 | 
			
		||||
						  QUrl(URLConstants::FORGE_GRADLE_URL), gradleForgeListEntry));
 | 
			
		||||
 | 
			
		||||
	connect(listDownload.get(), SIGNAL(failed(int)), SLOT(listFailed()));
 | 
			
		||||
	connect(gradleListDownload.get(), SIGNAL(failed(int)), SLOT(gradleListFailed()));
 | 
			
		||||
@@ -355,33 +355,32 @@ bool ForgeListLoadTask::parseForgeGradleList(QList<BaseVersionPtr> &out)
 | 
			
		||||
			}
 | 
			
		||||
			if (file.at(1).toString() == "installer")
 | 
			
		||||
			{
 | 
			
		||||
				fVersion->installer_url =
 | 
			
		||||
						QString("%1/%2-%3/%4-%2-%3-installer.%5")
 | 
			
		||||
						.arg(webpath, fVersion->mcver, fVersion->jobbuildver, artifact, file.at(0).toString());
 | 
			
		||||
				installer_filename = QString("%1-%2-%3-installer.%4")
 | 
			
		||||
						.arg(artifact, fVersion->mcver, fVersion->jobbuildver, file.at(0).toString());
 | 
			
		||||
				fVersion->installer_url = QString("%1/%2-%3/%4-%2-%3-installer.%5").arg(
 | 
			
		||||
					webpath, fVersion->mcver, fVersion->jobbuildver, artifact,
 | 
			
		||||
					file.at(0).toString());
 | 
			
		||||
				installer_filename = QString("%1-%2-%3-installer.%4").arg(
 | 
			
		||||
					artifact, fVersion->mcver, fVersion->jobbuildver, file.at(0).toString());
 | 
			
		||||
			}
 | 
			
		||||
			else if (file.at(1).toString() == "universal")
 | 
			
		||||
			{
 | 
			
		||||
				fVersion->universal_url =
 | 
			
		||||
						QString("%1/%2-%3/%4-%2-%3-universal.%5")
 | 
			
		||||
						.arg(webpath, fVersion->mcver, fVersion->jobbuildver, artifact, file.at(0).toString());
 | 
			
		||||
				filename = QString("%1-%2-%3-universal.%4")
 | 
			
		||||
						.arg(artifact, fVersion->mcver, fVersion->jobbuildver, file.at(0).toString());
 | 
			
		||||
				fVersion->universal_url = QString("%1/%2-%3/%4-%2-%3-universal.%5").arg(
 | 
			
		||||
					webpath, fVersion->mcver, fVersion->jobbuildver, artifact,
 | 
			
		||||
					file.at(0).toString());
 | 
			
		||||
				filename = QString("%1-%2-%3-universal.%4").arg(
 | 
			
		||||
					artifact, fVersion->mcver, fVersion->jobbuildver, file.at(0).toString());
 | 
			
		||||
			}
 | 
			
		||||
			else if (file.at(1).toString() == "changelog")
 | 
			
		||||
			{
 | 
			
		||||
				fVersion->changelog_url =
 | 
			
		||||
						QString("%1/%2-%3/%4-%2-%3-changelog.%5")
 | 
			
		||||
						.arg(webpath, fVersion->mcver, fVersion->jobbuildver, artifact, file.at(0).toString());
 | 
			
		||||
				fVersion->changelog_url = QString("%1/%2-%3/%4-%2-%3-changelog.%5").arg(
 | 
			
		||||
					webpath, fVersion->mcver, fVersion->jobbuildver, artifact,
 | 
			
		||||
					file.at(0).toString());
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		if (fVersion->installer_url.isEmpty() && fVersion->universal_url.isEmpty())
 | 
			
		||||
		{
 | 
			
		||||
			continue;
 | 
			
		||||
		}
 | 
			
		||||
		fVersion->filename = fVersion->installer_url.isEmpty() ?
 | 
			
		||||
					filename : installer_filename;
 | 
			
		||||
		fVersion->filename = fVersion->installer_url.isEmpty() ? filename : installer_filename;
 | 
			
		||||
		out.append(fVersion);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -406,8 +405,8 @@ void ForgeListLoadTask::listDownloaded()
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	qSort(list.begin(), list.end(),
 | 
			
		||||
		  [](const BaseVersionPtr &p1, const BaseVersionPtr &p2) {
 | 
			
		||||
	qSort(list.begin(), list.end(), [](const BaseVersionPtr & p1, const BaseVersionPtr & p2)
 | 
			
		||||
	{
 | 
			
		||||
		// TODO better comparison (takes major/minor/build number into account)
 | 
			
		||||
		return p1->name() > p2->name();
 | 
			
		||||
	});
 | 
			
		||||
 
 | 
			
		||||
@@ -29,4 +29,6 @@ const QString RESOURCE_BASE("resources.download.minecraft.net/");
 | 
			
		||||
const QString LIBRARY_BASE("libraries.minecraft.net/");
 | 
			
		||||
const QString SKINS_BASE("skins.minecraft.net/MinecraftSkins/");
 | 
			
		||||
const QString AUTH_BASE("authserver.mojang.com/");
 | 
			
		||||
const QString FORGE_LEGACY_URL("http://files.minecraftforge.net/minecraftforge/json");
 | 
			
		||||
const QString FORGE_GRADLE_URL("http://files.minecraftforge.net/maven/net/minecraftforge/forge/json");
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user