Repository navigation
Conversation
- Bring back src/Fallout.Common/Tools/ReSharper, which was deleted with the JetBrains tooling cleanup (97ea857), updated to the options of the jb global tool 2026.2. dupfinder is gone: JetBrains removed it. - The tool path is RESHARPER_EXE, then jb on the PATH (the global .NET tool), then the JetBrains.ReSharper.GlobalTools package in the NuGet packages folder. - Add ToolPathResolver.TryGetPathExecutable, which returns null instead of failing when the executable is not on the PATH. - The CLI tools table lists the commands the wrapper has. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An experimental type is new surface with no NUKE-era consumers. A Nuke.* shim that derives from it fails the shim project's build with the experimental diagnostic, so the generator now skips such types without a SHIM001 warning. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nto triage buckets
`fallout Inspect` runs one `dotnet build --no-incremental` that writes a
Roslyn SARIF error log per project and target framework, then
`jb inspectcode --severity=HINT --no-swea --no-build`. It merges both
reports, drops suppressed results and findings in obj/ or generated
files, keeps one finding per rule, file and line, and sorts each finding
into runtime-candidate, review, mechanical or unclassified with an
overridable rule table. Test files are flagged.
- Reports: inspect.sarif, inspect.tsv and inspect.md in the reports
directory, and one count line per bucket on stderr.
- The target only reports. A failing build or tool logs a warning.
- A single ErrorLog path for a solution build would be overwritten by
every compiler call, so an imported targets file gives each project
its own error log.
- New public API is behind [Experimental("FALLOUT005")].
FALLOUT002 to FALLOUT004 are already used by other warnings.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
|
Before you suggest a PR, please first create an issue and wait until it's approved. |
dennisdoomen
marked this pull request as draft
October 16, 2026 08:03
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Finding the risky items among hundreds of ReSharper and Roslyn findings is manual work today. Fallout has no ReSharper wrapper since the JetBrains tooling cleanup (97ea857), and one solution-wide
-p:ErrorLog=...loses findings because every compiler call overwrites the same file.Outcome
ReSharperInspectCode,ReSharperCleanupCode), updated to thejb2026.2 options.dupfinderstays out: JetBrains removed it. The tool path isRESHARPER_EXE, thenjbon the PATH (the global .NET tool), then theJetBrains.ReSharper.GlobalToolspackage. NewToolPathResolver.TryGetPathExecutablereturns null instead of failing.IInspectcomponent (behind[Experimental("FALLOUT005")]).fallout Inspect:dotnet build --no-incremental, with one Roslyn SARIF error log per project and target framework (an imported targets file setsErrorLog);jb inspectcode --severity=HINT --no-swea --no-build;obj/and generated files, keeps one finding per rule, file and line;runtime-candidate,review,mechanicalandunclassifiedwith an overridable rule table (InspectRules), and flags test files;inspect.sarif,inspect.tsvandinspect.mdto the reports directory and one count line per bucket to stderr.It only reports: a failing build or tool logs a warning.
[Experimental]types. They have no NUKE-era consumers, and a shim deriving from one fails the shim build.FALLOUT002toFALLOUT004are already used by other warnings, so the new ID isFALLOUT005. The registry now says so.Acceptance criteria
InspectReportSpecs(merge, dedupe, filters, buckets, test flag, TSV) andTransitionShimGeneratorSpecspass../build.sh Compilepasses.inspectcodeseverity are in the report. The known bug (a switch expression that throws for unhandled enum values) lands in runtime-candidate.Usage
🤖 Generated with Claude Code