NOISSUE remove nonsensical logic related to 'MultiMC.app/' prefixes in update manifests
This commit is contained in:
parent
4e93c4d012
commit
a35a2e877e
@ -185,25 +185,6 @@ slots:
|
|||||||
qDebug() << expectedOperations;
|
qDebug() << expectedOperations;
|
||||||
QCOMPARE(operations, expectedOperations);
|
QCOMPARE(operations, expectedOperations);
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_OSXPathFixup()
|
|
||||||
{
|
|
||||||
QString path, pathOrig;
|
|
||||||
bool result;
|
|
||||||
// Proper OSX path
|
|
||||||
pathOrig = path = "MultiMC.app/Foo/Bar/Baz";
|
|
||||||
qDebug() << "Proper OSX path: " << path;
|
|
||||||
result = fixPathForOSX(path);
|
|
||||||
QCOMPARE(path, QString("Foo/Bar/Baz"));
|
|
||||||
QCOMPARE(result, true);
|
|
||||||
|
|
||||||
// Bad OSX path
|
|
||||||
pathOrig = path = "translations/klingon.lol";
|
|
||||||
qDebug() << "Bad OSX path: " << path;
|
|
||||||
result = fixPathForOSX(path);
|
|
||||||
QCOMPARE(path, pathOrig);
|
|
||||||
QCOMPARE(result, false);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
|
@ -33,13 +33,7 @@ bool parseVersionInfo(const QByteArray &data, VersionFileList &list, QString &er
|
|||||||
QJsonObject fileObj = fileValue.toObject();
|
QJsonObject fileObj = fileValue.toObject();
|
||||||
|
|
||||||
QString file_path = fileObj.value("Path").toString();
|
QString file_path = fileObj.value("Path").toString();
|
||||||
#ifdef Q_OS_MAC
|
|
||||||
// On OSX, the paths for the updater need to be fixed.
|
|
||||||
// basically, anything that isn't in the .app folder is ignored.
|
|
||||||
// everything else is changed so the code that processes the files actually finds
|
|
||||||
// them and puts the replacements in the right spots.
|
|
||||||
fixPathForOSX(file_path);
|
|
||||||
#endif
|
|
||||||
VersionFileEntry file{file_path, fileObj.value("Perms").toVariant().toInt(),
|
VersionFileEntry file{file_path, fileObj.value("Perms").toVariant().toInt(),
|
||||||
FileSourceList(), fileObj.value("MD5").toString(), };
|
FileSourceList(), fileObj.value("MD5").toString(), };
|
||||||
qDebug() << "File" << file.path << "with perms" << file.mode;
|
qDebug() << "File" << file.path << "with perms" << file.mode;
|
||||||
@ -201,19 +195,4 @@ bool processFileLists
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool fixPathForOSX(QString &path)
|
|
||||||
{
|
|
||||||
if (path.startsWith("MultiMC.app/"))
|
|
||||||
{
|
|
||||||
// remove the prefix and add a new, more appropriate one.
|
|
||||||
path.remove(0, 12);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
qCritical() << "Update path not within .app: " << path;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -123,14 +123,5 @@ bool MULTIMC_LOGIC_EXPORT processFileLists
|
|||||||
OperationList &ops
|
OperationList &ops
|
||||||
);
|
);
|
||||||
|
|
||||||
/*!
|
|
||||||
* This fixes destination paths for OSX - removes 'MultiMC.app' prefix
|
|
||||||
* The updater runs in MultiMC.app/Contents/MacOs by default
|
|
||||||
* The destination paths are such as this: MultiMC.app/blah/blah
|
|
||||||
*
|
|
||||||
* @return false if the path couldn't be fixed (is invalid)
|
|
||||||
*/
|
|
||||||
bool MULTIMC_LOGIC_EXPORT fixPathForOSX(QString &path);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Q_DECLARE_METATYPE(GoUpdate::Status)
|
Q_DECLARE_METATYPE(GoUpdate::Status)
|
||||||
|
Loading…
Reference in New Issue
Block a user