diff options
author | Rainer Keller <rainer.keller@digia.com> | 2014-03-04 11:06:51 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@digia.com> | 2014-03-04 17:29:31 +0100 |
commit | 07f7dd9c1434738ad59467ac8830be41db03dfa0 (patch) | |
tree | 6027ad448b7e31c9ed73c1c3f086949735f39193 /src/tools/sdktool/addtoolchainoperation.cpp | |
parent | 6db3893b16347da88c4874cacd497882ae258dbb (diff) |
SDKtool: Check for existing objects when creating kits
Check for existing Qt versions, toolchains and devices if
those ids are given.
Change-Id: I0447d55e01cc40e43669ba7999126b0260974c0b
Reviewed-by: Rainer Keller <rainer.keller@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src/tools/sdktool/addtoolchainoperation.cpp')
-rw-r--r-- | src/tools/sdktool/addtoolchainoperation.cpp | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/src/tools/sdktool/addtoolchainoperation.cpp b/src/tools/sdktool/addtoolchainoperation.cpp index e8767ad722..77d9cd45cb 100644 --- a/src/tools/sdktool/addtoolchainoperation.cpp +++ b/src/tools/sdktool/addtoolchainoperation.cpp @@ -187,7 +187,7 @@ bool AddToolChainOperation::test() const return false; // Make sure name stays unique: - map = addToolChain(map, QLatin1String("testId2"), QLatin1String("name"), QLatin1String("/tmp/test"), + map = addToolChain(map, QLatin1String("{some-tc-id}"), QLatin1String("name"), QLatin1String("/tmp/test"), QLatin1String("test-abi"), QLatin1String("test-abi,test-abi2"), KeyValuePairList() << KeyValuePair(QLatin1String("ExtraKey"), QVariant(QLatin1String("ExtraValue")))); if (map.value(QLatin1String(COUNT)).toInt() != 2 @@ -206,7 +206,7 @@ bool AddToolChainOperation::test() const return false; tcData = map.value(QString::fromLatin1(PREFIX) + QLatin1Char('1')).toMap(); if (tcData.count() != 7 - || tcData.value(QLatin1String(ID)).toString() != QLatin1String("testId2") + || tcData.value(QLatin1String(ID)).toString() != QLatin1String("{some-tc-id}") || tcData.value(QLatin1String(DISPLAYNAME)).toString() != QLatin1String("name2") || tcData.value(QLatin1String(AUTODETECTED)).toBool() != true || tcData.value(QLatin1String(PATH)).toString() != QLatin1String("/tmp/test") @@ -225,15 +225,7 @@ QVariantMap AddToolChainOperation::addToolChain(const QVariantMap &map, const QString &supportedAbis, const KeyValuePairList &extra) { // Sanity check: Does the Id already exist? - QStringList valueKeys = FindValueOperation::findValue(map, id.toUtf8()); - bool hasId = false; - foreach (const QString &k, valueKeys) { - if (k.endsWith(QString(QLatin1Char('/')) + QLatin1String(ID))) { - hasId = true; - break; - } - } - if (hasId) { + if (exists(map, id)) { std::cerr << "Error: Id " << qPrintable(id) << " already defined for tool chains." << std::endl; return QVariantMap(); } @@ -284,3 +276,21 @@ QVariantMap AddToolChainOperation::initializeToolChains() map.insert(QLatin1String(VERSION), 1); return map; } + +bool AddToolChainOperation::exists(const QVariantMap &map, const QString &id) +{ + QStringList valueKeys = FindValueOperation::findValue(map, id.toUtf8()); + + foreach (const QString &k, valueKeys) { + if (k.endsWith(QString(QLatin1Char('/')) + QLatin1String(ID))) { + return true; + } + } + return false; +} + +bool AddToolChainOperation::exists(const QString &id) +{ + QVariantMap map = Operation::load(QLatin1String("toolchains")); + return exists(map, id); +} |