forked from qt-creator/qt-creator
SdkManagerOutputParser: Use parsePackage() for SdkPlatform
Change-Id: I8695ade91864a7f4cac3758c4d5fff96cc781266 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -290,7 +290,17 @@ AndroidSdkPackage *parsePackage(const QStringList &data, int minParts, const QSt
|
||||
AndroidSdkPackage *package = nullptr;
|
||||
GenericPackageData packageData;
|
||||
if (parseAbstractData(packageData, data, minParts, logStrTag)) {
|
||||
if constexpr (std::is_same_v<SdkPlatform, T>) {
|
||||
const int apiLevel = platformNameToApiLevel(packageData.headerParts.at(1));
|
||||
if (apiLevel == -1) {
|
||||
qCDebug(sdkManagerLog) << "Platform: Cannot parse api level:"<< data;
|
||||
return nullptr;
|
||||
}
|
||||
package = new T(packageData.revision, data.at(0), apiLevel);
|
||||
package->setExtension(convertNameToExtension(packageData.headerParts.at(1)));
|
||||
} else {
|
||||
package = new T(packageData.revision, data.at(0));
|
||||
}
|
||||
package->setDescriptionText(packageData.description);
|
||||
package->setDisplayText(packageData.description);
|
||||
package->setInstalledLocation(packageData.installedLocation);
|
||||
@@ -303,23 +313,7 @@ AndroidSdkPackage *parsePackage(const QStringList &data, int minParts, const QSt
|
||||
|
||||
AndroidSdkPackage *SdkManagerOutputParser::parsePlatform(const QStringList &data) const
|
||||
{
|
||||
SdkPlatform *platform = nullptr;
|
||||
GenericPackageData packageData;
|
||||
if (parseAbstractData(packageData, data, 2, "Platform")) {
|
||||
const int apiLevel = platformNameToApiLevel(packageData.headerParts.at(1));
|
||||
if (apiLevel == -1) {
|
||||
qCDebug(sdkManagerLog) << "Platform: Cannot parse api level:"<< data;
|
||||
return nullptr;
|
||||
}
|
||||
platform = new SdkPlatform(packageData.revision, data.at(0), apiLevel);
|
||||
platform->setExtension(convertNameToExtension(packageData.headerParts.at(1)));
|
||||
platform->setInstalledLocation(packageData.installedLocation);
|
||||
platform->setDescriptionText(packageData.description);
|
||||
} else {
|
||||
qCDebug(sdkManagerLog) << "Platform: Parsing failed. Minimum required data unavailable:"
|
||||
<< data;
|
||||
}
|
||||
return platform;
|
||||
return parsePackage<SdkPlatform>(data, 2, "Platform");
|
||||
}
|
||||
|
||||
QPair<SystemImage *, int> SdkManagerOutputParser::parseSystemImage(const QStringList &data) const
|
||||
|
Reference in New Issue
Block a user