Windeployqt: fix exclusion option for Internal modules

The "Internal" suffix was added to module names, but only in the help
text and not in the option's name. Change this by adding the "Internal"
suffix to the option name in general, rather than just the help text.

Fixes: QTBUG-122774
Pick-to: 6.7
Change-Id: Iaffcde4768a8bf70ba4b8e52cec4ea6490e20bfc
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
(cherry picked from commit 7c218d20aedd8aaf2c0f2b6954ac400902ae040b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Timothée Keller 2024-02-27 10:57:41 +01:00 committed by Qt Cherry-pick Bot
parent a053dc51d5
commit 65a1e71700

View File

@ -88,13 +88,15 @@ static inline QString webProcessBinary(const char *binaryName, Platform p)
return (p & WindowsBased) ? webProcess + QStringLiteral(".exe") : webProcess; return (p & WindowsBased) ? webProcess + QStringLiteral(".exe") : webProcess;
} }
static QString moduleNameToOptionName(const QString &moduleName) static QString moduleNameToOptionName(const QString &moduleName, bool internal)
{ {
QString result = moduleName QString result = moduleName
.mid(3) // strip the "Qt6" prefix .mid(3) // strip the "Qt6" prefix
.toLower(); .toLower();
if (result == u"help"_s) if (result == u"help"_s)
result.prepend("qt"_L1); result.prepend("qt"_L1);
if (internal)
result.append("Internal"_L1);
return result; return result;
} }
@ -106,10 +108,8 @@ static QByteArray formatQtModules(const ModuleBitset &mask, bool option = false)
if (!result.isEmpty()) if (!result.isEmpty())
result.append(' '); result.append(' ');
result.append(option result.append(option
? moduleNameToOptionName(qtModule.name).toUtf8() ? moduleNameToOptionName(qtModule.name, qtModule.internal).toUtf8()
: qtModule.name.toUtf8()); : qtModule.name.toUtf8());
if (qtModule.internal)
result.append("Internal");
} }
} }
return result; return result;
@ -527,7 +527,7 @@ static inline int parseArguments(const QStringList &arguments, QCommandLineParse
enabledModuleOptions.reserve(qtModulesCount); enabledModuleOptions.reserve(qtModulesCount);
disabledModuleOptions.reserve(qtModulesCount); disabledModuleOptions.reserve(qtModulesCount);
for (const QtModule &module : qtModuleEntries) { for (const QtModule &module : qtModuleEntries) {
const QString option = moduleNameToOptionName(module.name); const QString option = moduleNameToOptionName(module.name, module.internal);
const QString name = module.name; const QString name = module.name;
if (name == u"InsightTracker") { if (name == u"InsightTracker") {
parser->addOption(deployInsightTrackerOption); parser->addOption(deployInsightTrackerOption);
@ -769,7 +769,7 @@ static inline QString helpText(const QCommandLineParser &p, const PluginInformat
if (qtModuleEntries.size() == 0) if (qtModuleEntries.size() == 0)
return result; return result;
const QtModule &firstModule = qtModuleEntries.moduleById(0); const QtModule &firstModule = qtModuleEntries.moduleById(0);
const QString firstModuleOption = moduleNameToOptionName(firstModule.name); const QString firstModuleOption = moduleNameToOptionName(firstModule.name, firstModule.internal);
const qsizetype moduleStart = result.indexOf("\n --"_L1 + firstModuleOption); const qsizetype moduleStart = result.indexOf("\n --"_L1 + firstModuleOption);
const qsizetype argumentsStart = result.lastIndexOf("\nArguments:"_L1); const qsizetype argumentsStart = result.lastIndexOf("\nArguments:"_L1);
if (moduleStart >= argumentsStart) if (moduleStart >= argumentsStart)