Fallout-build / Fallout-build/Fallout

[Foundation] FT-5: Context-scope tool-path resolvers and process defaults

Open
#310 0 comments 0 reactions 0 assignees View on GitHub
enhancement target/vCurrent
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.