Skip to content

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

Description

@ChrisonSimtian

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions