diff options
author | Sami Shalayel <sami.shalayel@qt.io> | 2024-04-12 15:32:13 +0200 |
---|---|---|
committer | Sami Shalayel <sami.shalayel@qt.io> | 2024-04-17 12:27:35 +0200 |
commit | 7f2f329dcd166c44fa8e02e0124bdb4975febcc7 (patch) | |
tree | 6f2a60b3dbee35f40bb64367826f912776e77e73 /tools/qmllint/main.cpp | |
parent | bf0f4bab47c25a21c54be8eb1170ed2af092c84e (diff) |
qmllint: do not ignore command line options with --ignore-settings
Remove a misplaced pair of braces that made --ignore-settings ignore the
parsing of command line options like "-I", "-E" and "--bare".
Do not populate the settings from a settings file when --ignore-settings
is set to make QQmlToolingSettings::isSet() always return false.
Discovered while working on QTBUG-114969.
Pick-to: 6.7 6.6 6.5
Task-number: QTBUG-114969
Change-Id: Ia8719b33af4a2ebdcb2b81194e0c028164775327
Reviewed-by: Semih Yavuz <semih.yavuz@qt.io>
Diffstat (limited to 'tools/qmllint/main.cpp')
-rw-r--r-- | tools/qmllint/main.cpp | 82 |
1 files changed, 40 insertions, 42 deletions
diff --git a/tools/qmllint/main.cpp b/tools/qmllint/main.cpp index 89864c7c38..dadbaa3fb5 100644 --- a/tools/qmllint/main.cpp +++ b/tools/qmllint/main.cpp @@ -360,63 +360,61 @@ All warnings can be set to three levels: QJsonArray jsonFiles; for (const QString &filename : positionalArguments) { - if (!parser.isSet(ignoreSettings)) { + if (!parser.isSet(ignoreSettings)) settings.search(filename); - updateLogLevels(); + updateLogLevels(); - const QDir fileDir = QFileInfo(filename).absoluteDir(); - auto addAbsolutePaths = [&](QStringList &list, const QStringList &entries) { - for (const QString &file : entries) - list << (QFileInfo(file).isAbsolute() ? file : fileDir.filePath(file)); - }; + const QDir fileDir = QFileInfo(filename).absoluteDir(); + auto addAbsolutePaths = [&](QStringList &list, const QStringList &entries) { + for (const QString &file : entries) + list << (QFileInfo(file).isAbsolute() ? file : fileDir.filePath(file)); + }; - resourceFiles = defaultResourceFiles; + resourceFiles = defaultResourceFiles; - addAbsolutePaths(resourceFiles, settings.value(resourceSetting).toStringList()); + addAbsolutePaths(resourceFiles, settings.value(resourceSetting).toStringList()); - qmldirFiles = defaultQmldirFiles; - if (settings.isSet(qmldirFilesSetting) - && !settings.value(qmldirFilesSetting).toStringList().isEmpty()) { - qmldirFiles = {}; - addAbsolutePaths(qmldirFiles, - settings.value(qmldirFilesSetting).toStringList()); - } + qmldirFiles = defaultQmldirFiles; + if (settings.isSet(qmldirFilesSetting) + && !settings.value(qmldirFilesSetting).toStringList().isEmpty()) { + qmldirFiles = {}; + addAbsolutePaths(qmldirFiles, settings.value(qmldirFilesSetting).toStringList()); + } - if (parser.isSet(qmlImportNoDefault) - || (settings.isSet(qmlImportNoDefaultSetting) - && settings.value(qmlImportNoDefaultSetting).toBool())) { - qmlImportPaths = {}; - } else { - qmlImportPaths = defaultImportPaths; - } + if (parser.isSet(qmlImportNoDefault) + || (settings.isSet(qmlImportNoDefaultSetting) + && settings.value(qmlImportNoDefaultSetting).toBool())) { + qmlImportPaths = {}; + } else { + qmlImportPaths = defaultImportPaths; + } - if (parser.isSet(qmlImportPathsOption)) - qmlImportPaths << parser.values(qmlImportPathsOption); + if (parser.isSet(qmlImportPathsOption)) + qmlImportPaths << parser.values(qmlImportPathsOption); - addAbsolutePaths(qmlImportPaths, settings.value(qmlImportPathsSetting).toStringList()); + addAbsolutePaths(qmlImportPaths, settings.value(qmlImportPathsSetting).toStringList()); - QSet<QString> disabledPlugins; + QSet<QString> disabledPlugins; - if (parser.isSet(pluginsDisable)) { - for (const QString &plugin : parser.values(pluginsDisable)) - disabledPlugins << plugin.toLower(); - } + if (parser.isSet(pluginsDisable)) { + for (const QString &plugin : parser.values(pluginsDisable)) + disabledPlugins << plugin.toLower(); + } - if (settings.isSet(pluginsDisableSetting)) { - for (const QString &plugin : settings.value(pluginsDisableSetting).toStringList()) - disabledPlugins << plugin.toLower(); - } + if (settings.isSet(pluginsDisableSetting)) { + for (const QString &plugin : settings.value(pluginsDisableSetting).toStringList()) + disabledPlugins << plugin.toLower(); + } - linter.setPluginsEnabled(!disabledPlugins.contains("all")); + linter.setPluginsEnabled(!disabledPlugins.contains("all")); - if (!linter.pluginsEnabled()) - continue; + if (!linter.pluginsEnabled()) + continue; - auto &plugins = linter.plugins(); + auto &plugins = linter.plugins(); - for (auto &plugin : plugins) - plugin.setEnabled(!disabledPlugins.contains(plugin.name().toLower())); - } + for (auto &plugin : plugins) + plugin.setEnabled(!disabledPlugins.contains(plugin.name().toLower())); const bool isFixing = parser.isSet(fixFile); |