Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[cdac] break up cdacreader into 4 separate assemblies #108156

Merged
merged 18 commits into from
Sep 30, 2024

Commits on Sep 23, 2024

  1. [cdac] break up cdacreader into 4 separate assemblies

    Break up the monolithic cdacreader assembly into three parts:
    
    1. `Microsoft.Diagnostics.DataContractReader.Abstractions` just the API surface for contract implementations and clients **note** everything is `internal` for now (with IVT for the other assemblies) - we're not committing to a public API surface yet
    2. `Microsoft.Diagnostics.DataContractReader.Contracts`: the concrete implementations of the contracts and data
    3. `Microsoft.Diagnostics.DataCotnractReader`: a concrete `Target` that ties everything together
    4. `cdacreader` just the unmanaged entrypoints and the legacy DAC API surface `SOSDacImpl`
    
    To untangle things I had to add a new `IContractFactory<TProduct>` interface - this is what the target's `Registry` uses to instantiate specific versions of contracts.
    
    Goals:
    1. Make it possible to mock a `ITarget` and its `IRegistry` so that concrete contracts can be tested in isolation for example by making dummy dependent contracts that return canned answers.
    2. Eventually make it possible to inject additional contract implementations into a `Registry` implementations
    3. Make it possible to consume just the `Target` and `Contracts` without the unmanaged entrypoints or the legacy interfaces
    lambdageek committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    089dfe2 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2024

  1. Configuration menu
    Copy the full SHA
    c283b13 View commit details
    Browse the repository at this point in the history
  2. removed unused usings

    lambdageek committed Sep 24, 2024
    Configuration menu
    Copy the full SHA
    cc3a4f1 View commit details
    Browse the repository at this point in the history
  3. fixup mock

    lambdageek committed Sep 24, 2024
    Configuration menu
    Copy the full SHA
    4a5cd7a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    18e9d00 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ba9d83a View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2024

  1. Configuration menu
    Copy the full SHA
    87d026a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0f2130d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9b937bc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fd83148 View commit details
    Browse the repository at this point in the history
  5. Add ReadTargetPointerFromSpan to abstract Target

    Allows the TypeNameBuidler and SigFormat to depend on the abstract target
    lambdageek committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    6a45fba View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    bd64632 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ff762e0 View commit details
    Browse the repository at this point in the history
  8. rename ContractRegistry -> CachingContractRegistry; AbstractContractR…

    …egistry -> ContractRegistry
    lambdageek committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    75dfc46 View commit details
    Browse the repository at this point in the history
  9. revert unnecesasry change

    lambdageek committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    15ef960 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2024

  1. Configuration menu
    Copy the full SHA
    1ad195b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f0700c2 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2024

  1. Configuration menu
    Copy the full SHA
    32d956b View commit details
    Browse the repository at this point in the history