-
Notifications
You must be signed in to change notification settings - Fork 397
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace Buildalyzer from CSharpProject #3112
Replace Buildalyzer from CSharpProject #3112
Conversation
291986b
to
8e6b37c
Compare
464a31f
to
c65083c
Compare
src/Microsoft.DotNet.Interactive.CSharpProject/BuildCacheFileUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/BuildCacheFileUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/BuildCacheFileUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/BuildCacheFileUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/BuildCacheFileUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/BuildCacheFileUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/BuildCacheFileUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/BuildCacheFileUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
84194a3
to
cbf181b
Compare
@colombod Fixed the issue with Document Ids in the last commit. These are the 3 remaining unit-tests ![]() |
cc3989b
to
31be419
Compare
I removed the last commit and did a git rebase onto upstream main to get the package upgrade in Markdig.Signed Can someone approve ? |
...rosoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
...rosoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
...rosoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
...rosoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
...rosoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
...rosoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
...rosoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
...rosoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
d74fa02
to
47aae5b
Compare
47aae5b
to
dd529dd
Compare
...rosoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
...rosoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities/RoslynWorkspaceUtilities.cs
Show resolved
Hide resolved
...rosoft.DotNet.Interactive.CSharpProject/RoslynWorkspaceUtilities/RoslynWorkspaceUtilities.cs
Outdated
Show resolved
Hide resolved
@@ -47,7 +47,7 @@ internal static BuildDataResults GetResultsFromCacheFile(string cacheFilePath) | |||
CSharpParseOptions = cSharpParseOptions | |||
}; | |||
} | |||
catch (Exception) | |||
catch (ArgumentNullException) | |||
{ | |||
return null; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are we hiding an exception here at all? This is presumably happening due to a bug in our code.
@@ -172,8 +172,7 @@ public static CodeAnalysis.Project AddToWorkspace(BuildProjectData analyzerResul | |||
ProjectInfo projectInfo = GetProjectInfo(analyzerResult, workspace, projectId); | |||
if (projectInfo is null) | |||
{ | |||
// Error | |||
return null; | |||
throw new ArgumentNullException(nameof(projectInfo)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't the correct exception type, since it's not an argument.
What causes projectInfo
to be null? Is it due to a bug somewhere else?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll push a cleanup pr to fix this
This Pull Request seeks to eliminate all dependencies on Buildalyzer, due to its frequent breakdown during runtime. The instability can be attributed to frequent changes in the binlog format, necessitating either a regular update of Buildalyzer to the latest version supporting the new format, or the submission of respective updates to the Buildalyzer project repository.
This update involves numerous changes, the crux of which is a revision to the build process. During the build, a temporary file named Directory.Build.Targets is generated. This file initiates the creation of a target called DirectoryBuildTargetsContent which, in turn, generates a cache file containing all the necessary data to create a Roslyn Workspace object.
Subsequent to this update, instead of analyzing a binlog, the system reads from the cache file to create a Workspace, providing a more stable and efficient solution.