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)) {
|
} else if (name.startsWith(clangStaticAnalyzerPrefix)) {
|
||||||
url = CppTools::Constants::CLANG_STATIC_ANALYZER_DOCUMENTATION_URL;
|
url = CppTools::Constants::CLANG_STATIC_ANALYZER_DOCUMENTATION_URL;
|
||||||
} else {
|
} else {
|
||||||
url = QString(CppTools::Constants::TIDY_DOCUMENTATION_URL_TEMPLATE).arg(name);
|
url = clangTidyDocUrl(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
return url;
|
return url;
|
||||||
@@ -351,5 +351,16 @@ QStringList extraClangToolsAppendOptions()
|
|||||||
return options;
|
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 Internal
|
||||||
} // namespace ClangTools
|
} // namespace ClangTools
|
||||||
|
|||||||
@@ -42,6 +42,8 @@ namespace Debugger { class DiagnosticLocation; }
|
|||||||
namespace ClangTools {
|
namespace ClangTools {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
|
QString clangTidyDocUrl(const QString &check);
|
||||||
|
|
||||||
class Diagnostic;
|
class Diagnostic;
|
||||||
|
|
||||||
enum class FixitStatus {
|
enum class FixitStatus {
|
||||||
|
|||||||
@@ -449,8 +449,7 @@ public:
|
|||||||
// 'clang-analyzer-' group
|
// 'clang-analyzer-' group
|
||||||
if (node->isDir)
|
if (node->isDir)
|
||||||
return CppTools::Constants::CLANG_STATIC_ANALYZER_DOCUMENTATION_URL;
|
return CppTools::Constants::CLANG_STATIC_ANALYZER_DOCUMENTATION_URL;
|
||||||
return QString::fromUtf8(CppTools::Constants::TIDY_DOCUMENTATION_URL_TEMPLATE)
|
return clangTidyDocUrl(node->fullPath.toString());
|
||||||
.arg(node->fullPath.toString());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return BaseChecksTreeModel::data(fullIndex, role);
|
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_ID[] = "Symbols";
|
||||||
const char SYMBOLS_FIND_FILTER_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("CppTools", "C++ 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[]
|
constexpr const char CLANG_STATIC_ANALYZER_DOCUMENTATION_URL[]
|
||||||
= "https://clang-analyzer.llvm.org/available_checks.html";
|
= "https://clang-analyzer.llvm.org/available_checks.html";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user