aboutsummaryrefslogtreecommitdiffstats
path: root/src/tools/sdktool/addtoolchainoperation.cpp
diff options
context:
space:
mode:
authorRainer Keller <rainer.keller@digia.com>2014-03-04 11:06:51 +0100
committerTobias Hunger <tobias.hunger@digia.com>2014-03-04 17:29:31 +0100
commit07f7dd9c1434738ad59467ac8830be41db03dfa0 (patch)
tree6027ad448b7e31c9ed73c1c3f086949735f39193 /src/tools/sdktool/addtoolchainoperation.cpp
parent6db3893b16347da88c4874cacd497882ae258dbb (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.cpp32
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);
+}