Analyzers for MSBuild task authors
- Dominant language
- C#
- Stars
- 5.5k
- Forks
- 1.5k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 141
Description
It is not easy for Task authors cannot to tell by reading their own code whether it is safe to run on a thread. Analyzers find these problems at build time instead: process-wide state, unsafe path handling, and APIs that are never safe inside a task. Without them, migrating the task ecosystem to multithreaded mode depends on manual review.
This epic covers all analyzer work, from shipping the first release to the enhancements that follow.
## Steps
- [ ] [#14078](https://github.com/dotnet/msbuild/issues/14078) Ship the analyzers to task authors [size L] [Milestone: version 18.12]
- [ ] [#14772](https://github.com/dotnet/msbuild/issues/14772) Enhance the analyzers and fix the bugs after shipping [size XL] [Milestone: SDK 11.0.200]
## Stakeholders
Task authors in dotnet/sdk, dotnet/nuget, dotnet/roslyn, dotnet/arcade and the VMR, plus task authors referencing latest `Microsoft.Build.Framework`.
## Definition of done
Task authors get the analyzers automatically with MSBuild, and the analyzers catch the unsafe patterns that task migration has actually hit.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading linked issues #14078 and #14772, which divide shipping the analyzers from later enhancements and bug fixes. Use the listed unsafe patterns and definition of done to determine the specific analyzer scope; completion means analyzers ship automatically with MSBuild and catch unsafe patterns found during task migration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- build-system, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100