forked from qt-creator/qt-creator
ClangTools: Make sure URL for clang-tidy checks is always correct
Fixes: QTCREATORBUG-25902 Change-Id: Ifadb6c90cf9a86fc4efb734d6105217b70f9419d Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -308,7 +308,7 @@ QString documentationUrl(const QString &checkName)
|
||||
} else if (name.startsWith(clangStaticAnalyzerPrefix)) {
|
||||
url = CppTools::Constants::CLANG_STATIC_ANALYZER_DOCUMENTATION_URL;
|
||||
} else {
|
||||
url = QString(CppTools::Constants::TIDY_DOCUMENTATION_URL_TEMPLATE).arg(name);
|
||||
url = clangTidyDocUrl(name);
|
||||
}
|
||||
|
||||
return url;
|
||||
@@ -351,5 +351,16 @@ QStringList extraClangToolsAppendOptions()
|
||||
return options;
|
||||
}
|
||||
|
||||
QString clangTidyDocUrl(const QString &check)
|
||||
{
|
||||
QVersionNumber version = ClangToolsSettings::clangTidyVersion();
|
||||
version = QVersionNumber(version.majorVersion(), 0, 0);
|
||||
if (version == QVersionNumber(0))
|
||||
version = QVersionNumber(12);
|
||||
static const char urlTemplate[]
|
||||
= "https://releases.llvm.org/%1/tools/clang/tools/extra/docs/clang-tidy/checks/%2.html";
|
||||
return QString::fromLatin1(urlTemplate).arg(version.toString(), check);
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
} // namespace ClangTools
|
||||
|
||||
@@ -42,6 +42,8 @@ namespace Debugger { class DiagnosticLocation; }
|
||||
namespace ClangTools {
|
||||
namespace Internal {
|
||||
|
||||
QString clangTidyDocUrl(const QString &check);
|
||||
|
||||
class Diagnostic;
|
||||
|
||||
enum class FixitStatus {
|
||||
|
||||
@@ -449,8 +449,7 @@ public:
|
||||
// 'clang-analyzer-' group
|
||||
if (node->isDir)
|
||||
return CppTools::Constants::CLANG_STATIC_ANALYZER_DOCUMENTATION_URL;
|
||||
return QString::fromUtf8(CppTools::Constants::TIDY_DOCUMENTATION_URL_TEMPLATE)
|
||||
.arg(node->fullPath.toString());
|
||||
return clangTidyDocUrl(node->fullPath.toString());
|
||||
}
|
||||
|
||||
return BaseChecksTreeModel::data(fullIndex, role);
|
||||
|
||||
@@ -95,14 +95,6 @@ const char LOCATOR_FILTER_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("CppTools", "C++ Cl
|
||||
const char SYMBOLS_FIND_FILTER_ID[] = "Symbols";
|
||||
const char SYMBOLS_FIND_FILTER_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("CppTools", "C++ Symbols");
|
||||
|
||||
// CLANG-UPGRADE-CHECK: Checks/update URLs.
|
||||
//
|
||||
// Upgrade the version in the URL. Note that we cannot use the macro
|
||||
// CLANG_VERSION here because it might denote a version that was not yet
|
||||
// released (e.g. 6.0.1, but only 6.0.0 was released).
|
||||
constexpr const char TIDY_DOCUMENTATION_URL_TEMPLATE[]
|
||||
= "https://releases.llvm.org/11.0.0/tools/clang/tools/extra/docs/clang-tidy/checks/%1.html";
|
||||
|
||||
constexpr const char CLANG_STATIC_ANALYZER_DOCUMENTATION_URL[]
|
||||
= "https://clang-analyzer.llvm.org/available_checks.html";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user