Fallout-build/Fallout
Ver no GitHubUpdate Nuke→Fallout codefix to map Common.ProjectModel → Solutions for v11
Open
#253 aberto em 28 de mai. de 2026
good first issuetarget/2026
Métricas do repositório
- Stars
- (43 stars)
- Métricas de merge de PR
- (Métricas PR pendentes)
Description
Why
The NukeMigrationCodeFix in Fallout.Migrate.Analyzers rewrites Nuke → Fallout token-by-token. Post-v11 (after the vs-solutionpersistence inlining in #248), this produces stale namespace paths:
| Input (NUKE-era consumer code) | Codefix output today | Correct v11 target |
|---|---|---|
using Nuke.Common.ProjectModel; |
using Fallout.Common.ProjectModel; ❌ (namespace gone) |
using Fallout.Solutions; |
Nuke.Common.ProjectModel.Solution x; |
Fallout.Common.ProjectModel.Solution x; ❌ |
Fallout.Solutions.Solution x; |
Consumers who run fallout-migrate (or the codefix) on pre-rename NUKE code currently get code that doesn't compile against v11. The transition shim (Nuke.Components / Nuke.Common) does mirror Fallout.Solutions.* back to Nuke.Common.ProjectModel.*, so consumers can stay on the shim namespace longer — but the migration codefix should target the canonical v11 namespace.
Action
- Extend
NukeToFalloutRewriterinsrc/Fallout.Migrate.Analyzers/NukeMigrationCodeFix.csto handle the qualified-name caseNuke.Common.ProjectModel→Fallout.Solutions(visitQualifiedNameSyntaxor post-process the rewritten tree) - Restore the test expectation in
tests/Fallout.Migrate.Analyzers.Tests/RealWorldSmokeTests.cstoFallout.Solutions.Solution+using Fallout.Solutions;(currently reverted toFallout.Common.ProjectModel.*to keep the test green during #248) - Update
TargetFalloutStubin that test file to also exposeFallout.Solutions.Solution(the inline stub only definesFallout.Common.ProjectModel.Solution) - Audit other rename-era namespace pairs the codefix might miss (anything else that moved out of
Fallout.Common.*in v11)
Done when
- A NUKE consumer running the codefix gets v11-correct namespace paths
RealWorldSmokeTests.RewritesRealisticPreRenameBuildClassexpectations reflect the v11 target namespaces- No regression on simple
Nuke→Falloutcases with no ProjectModel/SolutionModel involvement