Fallout-build / Fallout-build/Fallout
[Foundation] FT-3: Convert public static build properties to BuildContext-backed facades
- Dominant language
- C#
- Stars
- 154
- Forks
- 19
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 15
Description
## Summary
Convert the public static build properties to **thin facades over `BuildContext.Current`**, and stop the engine internals from reading the statics directly. Backwards-compatible: the public API is preserved.
## Findings (file:line)
`FalloutBuild.Statics.cs` — these are public static and set once in the static ctor:
- `RootDirectory` (`:36`), `TemporaryDirectory` (`:41`), `BuildAssemblyFile` (`:46`), `BuildAssemblyDirectory` (`:51`), `BuildProjectDirectory` (`:56`), `BuildProjectFile` (`:61`), `Verbosity` (`:67`, mutable), `Host` (`:77`, mutable), `LoadedLocalProfiles` (`:80`).
## Scope
- Re-express each as `=> BuildContext.Current.<…>` (facade).
- Replace direct static reads inside `Execution/` with `ctx.<…>`.
## Acceptance criteria
- No `FalloutBuild.` reads remain inside the `Execution/` namespace.
- Public API signatures unchanged — verify against the PublicApi snapshot (`build/Build.PublicApi.cs`).
- **Non-breaking.**
## Notes
- **Important:** these statics are *public API*, so removing them would be a breaking change (batched to the year cut per CLAUDE.md rule #2). The facade approach keeps this non-breaking — do NOT remove them.
- Depends on: FT-2.
- Size: **M**.
Contributor guide
Assessment
This issue has not been assessed yet.