Skip to content

Commit 3b619b7

Browse files
authored
chore: Add AnalyzerLoadFailed event handler logics to report warning (#10617)
chore: add analyzer load failure warning
1 parent 7d5d703 commit 3b619b7

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

src/Docfx.Common/Loggers/WarningCodes.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@ public static class Build
2525
public const string InvalidTocInclude = "InvalidTocInclude";
2626
}
2727

28+
public static class Metadata
29+
{
30+
public const string FailedToResolveAnalyzer = "FailedToResolveAnalyzer";
31+
public const string FailedToLoadAnalyzer = "FailedToLoadAnalyzer";
32+
}
33+
2834
public static class Markdown
2935
{
3036
public const string InvalidInclude = "InvalidInclude";

src/Docfx.Dotnet/DotnetApiCatalog.Compile.cs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,22 @@ await LoadCompilationFromProject(project.AbsolutePath) is { } compilation)
147147
{
148148
Logger.LogWarning($"There is .NET Analyzer that can't be resolved. "
149149
+ $"If this analyzer is .NET Source Generator project. "
150-
+ $"Try build with `dotnet build -c Release` command before running docfx. Path: {unresolvedAnalyzer.FullPath}");
150+
+ $"Try build with `dotnet build -c Release` command before running docfx. Path: {unresolvedAnalyzer.FullPath}",
151+
code: WarningCodes.Metadata.FailedToResolveAnalyzer);
152+
}
153+
154+
foreach (var analyzer in project.AnalyzerReferences.OfType<AnalyzerFileReference>())
155+
{
156+
analyzer.AnalyzerLoadFailed += (sender, e) =>
157+
{
158+
var analyzerName = analyzer.Display;
159+
var errorCode = e.ErrorCode;
160+
var referencedCompilerVersion = e.ReferencedCompilerVersion;
161+
162+
Logger.LogWarning($"Failed to load .NET Analyzer. AnalyzerName: {analyzerName}, ErrorCode: {errorCode}, ReferencedCompilerVersion: {referencedCompilerVersion}",
163+
code: WarningCodes.Metadata.FailedToLoadAnalyzer);
164+
};
165+
151166
}
152167
}
153168

0 commit comments

Comments
 (0)