diff options
author | Eike Ziller <eike.ziller@qt.io> | 2019-05-03 12:47:18 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2019-05-07 08:09:56 +0000 |
commit | e9e4c27e3a3f157291a231b8a746bb76dea525b7 (patch) | |
tree | e7a207a92ec33a7abd9ed9e5f9a25f6588b966d2 | |
parent | 48f8eca5746e945ba177d827ff925d80ad3982fd (diff) |
sdktool: Do not fiddle with display names
sdktool made the "display names" unique by potentially adding a number.
This has multiple drawbacks:
- The display name can contain variables that lead to
unique _expanded_ names
- Adding a number doesn't really help for distinguishing things
- That number is then hard-baked into the install settings
Installers should take care that they register identifiable names.
And if we really want to ensure unique names, then Qt Creator can do that
itself, or even better leave the user to do it, because a number doesn't
really help anyhow.
Fixes: QTCREATORBUG-17909
Change-Id: Id0f44c0cbe457047a0713bda4980fb5d4bc5bcaa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r-- | src/tools/sdktool/addcmakeoperation.cpp | 9 | ||||
-rw-r--r-- | src/tools/sdktool/adddebuggeroperation.cpp | 10 | ||||
-rw-r--r-- | src/tools/sdktool/addkitoperation.cpp | 17 | ||||
-rw-r--r-- | src/tools/sdktool/addqtoperation.cpp | 9 | ||||
-rw-r--r-- | src/tools/sdktool/addtoolchainoperation.cpp | 9 | ||||
-rw-r--r-- | src/tools/sdktool/operation.cpp | 9 | ||||
-rw-r--r-- | src/tools/sdktool/operation.h | 1 |
7 files changed, 10 insertions, 54 deletions
diff --git a/src/tools/sdktool/addcmakeoperation.cpp b/src/tools/sdktool/addcmakeoperation.cpp index bc8d9a66bc..893b9c5b61 100644 --- a/src/tools/sdktool/addcmakeoperation.cpp +++ b/src/tools/sdktool/addcmakeoperation.cpp @@ -203,20 +203,13 @@ QVariantMap AddCMakeOperation::addCMake(const QVariantMap &map, const QString &i return QVariantMap(); } - // Sanity check: Make sure displayName is unique. - QStringList nameKeys = FindKeyOperation::findKey(map, DISPLAYNAME_KEY); - QStringList nameList; - foreach (const QString &nameKey, nameKeys) - nameList << GetOperation::get(map, nameKey).toString(); - const QString uniqueName = makeUnique(displayName, nameList); - QVariantMap result = RmKeysOperation::rmKeys(map, {COUNT}); const QString cm = QString::fromLatin1(PREFIX) + QString::number(count); KeyValuePairList data; data << KeyValuePair({cm, ID_KEY}, QVariant(id)); - data << KeyValuePair({cm, DISPLAYNAME_KEY}, QVariant(uniqueName)); + data << KeyValuePair({cm, DISPLAYNAME_KEY}, QVariant(displayName)); data << KeyValuePair({cm, AUTODETECTED_KEY}, QVariant(true)); data << KeyValuePair({cm, PATH_KEY}, QVariant(path)); KeyValuePairList extraList; diff --git a/src/tools/sdktool/adddebuggeroperation.cpp b/src/tools/sdktool/adddebuggeroperation.cpp index e6871cb8b6..3e94603d3c 100644 --- a/src/tools/sdktool/adddebuggeroperation.cpp +++ b/src/tools/sdktool/adddebuggeroperation.cpp @@ -204,17 +204,11 @@ QVariantMap AddDebuggerOperation::addDebugger(const QVariantMap &map, toRemove << QLatin1String(COUNT); QVariantMap cleaned = RmKeysOperation::rmKeys(map, toRemove); - // Sanity check: Make sure displayName is unique. - QStringList nameKeys = FindKeyOperation::findKey(map, QLatin1String(DISPLAYNAME)); - QStringList nameList; - foreach (const QString &nameKey, nameKeys) - nameList << GetOperation::get(map, nameKey).toString(); - const QString uniqueName = makeUnique(displayName, nameList); - // insert data: KeyValuePairList data; data << KeyValuePair(QStringList() << debugger << QLatin1String(ID), QVariant(id)); - data << KeyValuePair(QStringList() << debugger << QLatin1String(DISPLAYNAME), QVariant(uniqueName)); + data << KeyValuePair(QStringList() << debugger << QLatin1String(DISPLAYNAME), + QVariant(displayName)); data << KeyValuePair(QStringList() << debugger << QLatin1String(AUTODETECTED), QVariant(true)); data << KeyValuePair(QStringList() << debugger << QLatin1String(ABIS), QVariant(abis)); diff --git a/src/tools/sdktool/addkitoperation.cpp b/src/tools/sdktool/addkitoperation.cpp index b1c480811e..0763c55e46 100644 --- a/src/tools/sdktool/addkitoperation.cpp +++ b/src/tools/sdktool/addkitoperation.cpp @@ -623,19 +623,12 @@ QVariantMap AddKitOperation::addKit(const QVariantMap &map, const QVariantMap &t // remove data: QVariantMap cleaned = RmKeysOperation::rmKeys(map, {COUNT, DEFAULT}); - // Sanity check: Make sure displayName is unique. - QStringList nameKeys = FindKeyOperation::findKey(map, DISPLAYNAME); - QStringList nameList; - foreach (const QString &nameKey, nameKeys) - nameList << GetOperation::get(map, nameKey).toString(); - const QString uniqueName = makeUnique(displayName, nameList); - // insert data: - KeyValuePairList data = { KeyValuePair({kit, ID}, QVariant(id)), - KeyValuePair({kit, DISPLAYNAME}, QVariant(uniqueName)), - KeyValuePair({kit, ICON}, QVariant(icon)), - KeyValuePair({kit, AUTODETECTED}, QVariant(true)), - KeyValuePair({kit, SDK}, QVariant(true))}; + KeyValuePairList data = {KeyValuePair({kit, ID}, QVariant(id)), + KeyValuePair({kit, DISPLAYNAME}, QVariant(displayName)), + KeyValuePair({kit, ICON}, QVariant(icon)), + KeyValuePair({kit, AUTODETECTED}, QVariant(true)), + KeyValuePair({kit, SDK}, QVariant(true))}; if (!debuggerId.isEmpty() || !debugger.isEmpty()) { if (debuggerId.isEmpty()) { diff --git a/src/tools/sdktool/addqtoperation.cpp b/src/tools/sdktool/addqtoperation.cpp index c71676433b..30ece83c65 100644 --- a/src/tools/sdktool/addqtoperation.cpp +++ b/src/tools/sdktool/addqtoperation.cpp @@ -296,20 +296,13 @@ QVariantMap AddQtOperation::addQt(const QVariantMap &map, } const QString qt = QString::fromLatin1(PREFIX) + QString::number(versionCount); - // Sanity check: Make sure displayName is unique. - QStringList nameKeys = FindKeyOperation::findKey(map, QLatin1String(DISPLAYNAME)); - QStringList nameList; - foreach (const QString &nameKey, nameKeys) - nameList << GetOperation::get(map, nameKey).toString(); - const QString uniqueName = makeUnique(displayName, nameList); - // Sanitize qmake path: QString saneQmake = QDir::cleanPath(QDir::fromNativeSeparators(qmake)); // insert data: KeyValuePairList data; data << KeyValuePair(QStringList() << qt << QLatin1String(ID), QVariant(-1)); - data << KeyValuePair(QStringList() << qt << QLatin1String(DISPLAYNAME), QVariant(uniqueName)); + data << KeyValuePair(QStringList() << qt << QLatin1String(DISPLAYNAME), QVariant(displayName)); data << KeyValuePair(QStringList() << qt << QLatin1String(AUTODETECTED), QVariant(true)); data << KeyValuePair(QStringList() << qt << QLatin1String(AUTODETECTION_SOURCE), QVariant(sdkId)); data << KeyValuePair(QStringList() << qt << QLatin1String(QMAKE), QVariant(saneQmake)); diff --git a/src/tools/sdktool/addtoolchainoperation.cpp b/src/tools/sdktool/addtoolchainoperation.cpp index 335b72ec76..0f5359cff3 100644 --- a/src/tools/sdktool/addtoolchainoperation.cpp +++ b/src/tools/sdktool/addtoolchainoperation.cpp @@ -253,13 +253,6 @@ QVariantMap AddToolChainOperation::addToolChain(const QVariantMap &map, const QS return QVariantMap(); } - // Sanity check: Make sure displayName is unique. - QStringList nameKeys = FindKeyOperation::findKey(map, DISPLAYNAME); - QStringList nameList; - foreach (const QString &nameKey, nameKeys) - nameList << GetOperation::get(map, nameKey).toString(); - const QString uniqueName = makeUnique(displayName, nameList); - QVariantMap result = RmKeysOperation::rmKeys(map, {COUNT}); const QString tc = QString::fromLatin1(PREFIX) + QString::number(count); @@ -290,7 +283,7 @@ QVariantMap AddToolChainOperation::addToolChain(const QVariantMap &map, const QS data << KeyValuePair({tc, LANGUAGE_KEY}, QVariant(oldLang)); if (!newLang.isEmpty()) data << KeyValuePair({tc, LANGUAGE_KEY_V2}, QVariant(newLang)); - data << KeyValuePair({tc, DISPLAYNAME}, QVariant(uniqueName)); + data << KeyValuePair({tc, DISPLAYNAME}, QVariant(displayName)); data << KeyValuePair({tc, AUTODETECTED}, QVariant(true)); data << KeyValuePair({tc, PATH}, QVariant(path)); data << KeyValuePair({tc, TARGET_ABI}, QVariant(abi)); diff --git a/src/tools/sdktool/operation.cpp b/src/tools/sdktool/operation.cpp index c4f823281a..68bad3272d 100644 --- a/src/tools/sdktool/operation.cpp +++ b/src/tools/sdktool/operation.cpp @@ -62,15 +62,6 @@ QVariant Operation::valueFromString(const QString &v) return QVariant(); } -QString Operation::makeUnique(const QString &name, const QStringList &inUse) -{ - QString unique = name; - int i = 1; - while (inUse.contains(unique)) - unique = name + QString::number(++i); - return unique; -} - Operation::KeyValuePair::KeyValuePair(const QString &k, const QString &v) : value(valueFromString(v)) { diff --git a/src/tools/sdktool/operation.h b/src/tools/sdktool/operation.h index ad2062cf8f..99077fb216 100644 --- a/src/tools/sdktool/operation.h +++ b/src/tools/sdktool/operation.h @@ -63,5 +63,4 @@ public: bool save(const QVariantMap &map, const QString &file) const; static QVariant valueFromString(const QString &v); - static QString makeUnique(const QString &name, const QStringList &inUse); }; |