forked from qt-creator/qt-creator
Use QVersionNumber to compare versions
Comparing strings will give us strange results e.g. 23.0.20 > 25.0.0 Change-Id: Id709ebfe45454064a18706e2df5d01ed5a3e8551 Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -60,6 +60,7 @@
|
|||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QDomDocument>
|
#include <QDomDocument>
|
||||||
|
#include <QVersionNumber>
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
const QLatin1String AndroidManifestName("AndroidManifest.xml");
|
const QLatin1String AndroidManifestName("AndroidManifest.xml");
|
||||||
@@ -565,16 +566,16 @@ bool AndroidManager::updateGradleProperties(ProjectExplorer::Target *target)
|
|||||||
gradleProperties["buildDir"] = ".build";
|
gradleProperties["buildDir"] = ".build";
|
||||||
gradleProperties["androidCompileSdkVersion"] = buildTargetSDK(target).split(QLatin1Char('-')).last().toLocal8Bit();
|
gradleProperties["androidCompileSdkVersion"] = buildTargetSDK(target).split(QLatin1Char('-')).last().toLocal8Bit();
|
||||||
if (gradleProperties["androidBuildToolsVersion"].isEmpty()) {
|
if (gradleProperties["androidBuildToolsVersion"].isEmpty()) {
|
||||||
QString maxVersion;
|
QVersionNumber maxVersion;
|
||||||
QDir buildToolsDir(AndroidConfigurations::currentConfig().sdkLocation().appendPath(QLatin1String("build-tools")).toString());
|
QDir buildToolsDir(AndroidConfigurations::currentConfig().sdkLocation().appendPath(QLatin1String("build-tools")).toString());
|
||||||
foreach (const QFileInfo &file, buildToolsDir.entryList(QDir::Dirs|QDir::NoDotAndDotDot)) {
|
foreach (const QFileInfo &file, buildToolsDir.entryList(QDir::Dirs|QDir::NoDotAndDotDot)) {
|
||||||
QString ver(file.fileName());
|
QVersionNumber ver = QVersionNumber::fromString(file.fileName());
|
||||||
if (maxVersion < ver)
|
if (maxVersion < ver)
|
||||||
maxVersion = ver;
|
maxVersion = ver;
|
||||||
}
|
}
|
||||||
if (maxVersion.isEmpty())
|
if (maxVersion.isNull())
|
||||||
return false;
|
return false;
|
||||||
gradleProperties["androidBuildToolsVersion"] = maxVersion.toLocal8Bit();
|
gradleProperties["androidBuildToolsVersion"] = maxVersion.toString().toLocal8Bit();
|
||||||
}
|
}
|
||||||
return mergeGradleProperties(gradlePropertiesPath, gradleProperties);
|
return mergeGradleProperties(gradlePropertiesPath, gradleProperties);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user