Skip to content

Introduce service abstractions and dependency injection in SignTool #16092

@ellahathaway

Description

@ellahathaway

Making the changes in #16091 was challenging due to the need to adjust many function headers to pass around specific .NET executable paths and related process logic. Additionally, the SignTool project currently has a lot of repeated functionality, especially around running external processes (e.g., invoking msbuild, pkg, tar), locating executables, and managing their arguments.

Proposal

  • Refactor the SignTool project to introduce dedicated service abstractions for process execution, pkg, tar, msbuild, and any other external tools.
  • Implement these services and register them via Dependency Injection (DI), so dependencies are injected where needed rather than passed through function calls or duplicated logic.
  • Consolidate repeated logic (finding executables, running commands, parsing output) into these service classes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions