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.<static> reads remain inside the Execution/ namespace.
- Public API signatures unchanged — verify against the PublicApi snapshot (
build/Build.PublicApi.cs).
- Non-breaking.
Notes
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
=> BuildContext.Current.<…>(facade).Execution/withctx.<…>.Acceptance criteria
FalloutBuild.<static>reads remain inside theExecution/namespace.build/Build.PublicApi.cs).Notes