Fallout-build / Fallout-build/Fallout
[Foundation] FT-5: Context-scope tool-path resolvers and process defaults
- Dominant language
- C#
- Stars
- 154
- Forks
- 19
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 15
Description
## Summary
Move tool-path resolver configuration and process defaults onto `BuildContext` (keeping static facades), so the engine stops writing process-global statics mid-run.
## Findings (file:line)
- `BuildManager.cs:53-56` writes `NuGetToolPathResolver.{EmbeddedPackagesDirectory,NuGetPackagesConfigFile,NuGetAssetsConfigFile}` and `NpmToolPathResolver.NpmPackageJsonFile` — mutable public statics, never reset.
- `ProcessTasks.DefaultLogOutput / DefaultLogInvocation / DefaultWorkingDirectory` — mutable global defaults.
## Scope
- Hold tool-path + process defaults on `BuildContext.Tools`.
- Resolvers read from the context; keep static facades for backwards compatibility.
- Remove the direct static writes from `BuildManager.Execute`.
## Acceptance criteria
- `BuildManager.cs:53-56` no longer assigns process statics; resolution reads from `ctx`.
- Tool resolution behavior unchanged for normal runs.
## Notes
- **Non-breaking** (facades preserved).
- Depends on: FT-2.
- Size: **M**.
Contributor guide
Assessment
This issue has not been assessed yet.