mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 10:29:01 +02:00
Checkpoint: AutoUpdate reads data from builds.xml and stores it in a QMap
This commit is contained in:
parent
4b316c6937
commit
ef27a7660c
2 changed files with 67 additions and 8 deletions
|
@ -25,6 +25,7 @@ AutoUpdate::AutoUpdate() {
|
||||||
#ifdef Q_OS_LINUX
|
#ifdef Q_OS_LINUX
|
||||||
_operatingSystem = "ubuntu";
|
_operatingSystem = "ubuntu";
|
||||||
#endif
|
#endif
|
||||||
|
//connect(this, SIGNAL(latestVersionDataParsed()), this, SLOT(debugBuildData()));
|
||||||
}
|
}
|
||||||
|
|
||||||
AutoUpdate::~AutoUpdate() {
|
AutoUpdate::~AutoUpdate() {
|
||||||
|
@ -51,6 +52,14 @@ void AutoUpdate::parseLatestVersionData() {
|
||||||
|
|
||||||
QXmlStreamReader xml(sender);
|
QXmlStreamReader xml(sender);
|
||||||
|
|
||||||
|
int version;
|
||||||
|
QString downloadUrl;
|
||||||
|
QString releaseTime;
|
||||||
|
QString releaseNotes;
|
||||||
|
QString commitSha;
|
||||||
|
QString pullRequestNumber;
|
||||||
|
|
||||||
|
|
||||||
while (!xml.atEnd() && !xml.hasError()) {
|
while (!xml.atEnd() && !xml.hasError()) {
|
||||||
if (xml.name().toString() == "project" &&
|
if (xml.name().toString() == "project" &&
|
||||||
xml.attributes().hasAttribute("name") &&
|
xml.attributes().hasAttribute("name") &&
|
||||||
|
@ -67,10 +76,26 @@ void AutoUpdate::parseLatestVersionData() {
|
||||||
|
|
||||||
if (xml.name().toString() == "build" && xml.tokenType() != QXmlStreamReader::EndElement) {
|
if (xml.name().toString() == "build" && xml.tokenType() != QXmlStreamReader::EndElement) {
|
||||||
xml.readNext();
|
xml.readNext();
|
||||||
QString version = xml.readElementText();
|
version = xml.readElementText().toInt();
|
||||||
xml.readNext();
|
xml.readNext();
|
||||||
QString url = xml.readElementText();
|
downloadUrl = xml.readElementText();
|
||||||
qDebug() << "[LEOTEST] Release version " << version << " downloadable at: " << url;
|
xml.readNext();
|
||||||
|
releaseTime = xml.readElementText();
|
||||||
|
xml.readNext();
|
||||||
|
if (xml.name().toString() == "notes" && xml.tokenType() != QXmlStreamReader::EndElement) {
|
||||||
|
xml.readNext();
|
||||||
|
while (!xml.atEnd() && !xml.hasError() && xml.name().toString() != "notes") {
|
||||||
|
if (xml.name().toString() == "note" && xml.tokenType() != QXmlStreamReader::EndElement) {
|
||||||
|
releaseNotes = releaseNotes + "\n" + xml.readElementText();
|
||||||
|
}
|
||||||
|
xml.readNext();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
xml.readNext();
|
||||||
|
commitSha = xml.readElementText();
|
||||||
|
xml.readNext();
|
||||||
|
pullRequestNumber = xml.readElementText();
|
||||||
|
appendBuildData(version, downloadUrl, releaseTime, releaseNotes, pullRequestNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
xml.readNext();
|
xml.readNext();
|
||||||
|
@ -84,4 +109,32 @@ void AutoUpdate::parseLatestVersionData() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sender->deleteLater();
|
sender->deleteLater();
|
||||||
|
emit latestVersionDataParsed();
|
||||||
|
}
|
||||||
|
|
||||||
|
void AutoUpdate::debugBuildData() {
|
||||||
|
qDebug() << "[LEOTEST] We finished parsing the xml build data";
|
||||||
|
foreach (int key, _builds.keys()) {
|
||||||
|
qDebug() << "[LEOTEST] Build number: " << QString::number(key);
|
||||||
|
foreach (QString detailsKey, _builds[key].keys()) {
|
||||||
|
qDebug() << "[LEOTEST] Key: " << detailsKey << " Value: " << _builds[key][detailsKey];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void AutoUpdate::performAutoUpdate() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void AutoUpdate::downloadUpdateVersion() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void AutoUpdate::appendBuildData(int versionNumber, QString downloadURL, QString releaseTime, QString releaseNotes, QString pullRequestNumber) {
|
||||||
|
QMap<QString, QString> thisBuildDetails;
|
||||||
|
thisBuildDetails.insert("downloadUrl", downloadURL);
|
||||||
|
thisBuildDetails.insert("releaseTime", releaseTime);
|
||||||
|
thisBuildDetails.insert("releaseNotes", releaseNotes);
|
||||||
|
thisBuildDetails.insert("pullRequestNumber", pullRequestNumber);
|
||||||
|
_builds.insert(versionNumber, thisBuildDetails);
|
||||||
}
|
}
|
|
@ -38,11 +38,6 @@ public:
|
||||||
~AutoUpdate();
|
~AutoUpdate();
|
||||||
|
|
||||||
void checkForUpdate();
|
void checkForUpdate();
|
||||||
QMap<int, QMap<QString, QString>> getBuildData() { return _builds; }
|
|
||||||
void appendBuildData(int versionNumber,
|
|
||||||
QString downloadURL,
|
|
||||||
int pullRequestNumber,
|
|
||||||
QString releaseNotes);
|
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
||||||
|
@ -55,9 +50,20 @@ private:
|
||||||
void getLatestVersionData();
|
void getLatestVersionData();
|
||||||
void performAutoUpdate();
|
void performAutoUpdate();
|
||||||
void downloadUpdateVersion();
|
void downloadUpdateVersion();
|
||||||
|
QMap<int, QMap<QString, QString>> getBuildData() { return _builds; }
|
||||||
|
void appendBuildData(int versionNumber,
|
||||||
|
QString downloadURL,
|
||||||
|
QString releaseTime,
|
||||||
|
QString releaseNotes,
|
||||||
|
QString pullRequestNumber);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void parseLatestVersionData();
|
void parseLatestVersionData();
|
||||||
|
void debugBuildData();
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void latestVersionDataParsed();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* defined(__hifi__AutoUpdate__) */
|
#endif /* defined(__hifi__AutoUpdate__) */
|
||||||
|
|
Loading…
Reference in a new issue