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

Improve incremental build times of the libraries subset #64000

Merged
merged 3 commits into from
Feb 24, 2022

Commits on Feb 22, 2022

  1. Configuration menu
    Copy the full SHA
    afd8477 View commit details
    Browse the repository at this point in the history
  2. sfx+oob split, shim project refactoring, P2Ps

    Split the build of shared framework and out-of-band projects so that
    it's possible to just build the shard framework projects, which was
    requested by the CLR teams. In the next infrastructure rollout, the
    current "libs.ref+libs.src" subsets should be removed. Generate the
    targeting pack with an incomplete (without shims) frameworklist as part
    of the "libs.sfx" subset.
    
    Build the shim projects after the shared framework and oob projects and
    re-generate the targeting pack's frameworklist to include the shims.
    
    Refactor the shims so that they aren't grouped anymore by generated &
    manual. Instead group them by "ref" and "src" same as other libraries
    in the tree which allows to reference the source project shims and read
    from the ReferenceAssembly metadata.
    
    Use ProjectReferences in traversal projects and shim projects instead
    of named references that point to binplace directories (see graph below)
    This allows to build parts of the product dynamically, i.e. the shim
    projects, apicompat.proj, sfx.proj and oob.proj.
    ViktorHofer committed Feb 22, 2022
    Configuration menu
    Copy the full SHA
    2f5fed2 View commit details
    Browse the repository at this point in the history
  3. Use TargetFramework singular for tests

    Use TargetFramework instead of TargetFrameworks property whenever a
    test project targets a single target framework only.
    This avoid unnecessary outer builds and evaluations and makes the build
    faster.
    ViktorHofer committed Feb 22, 2022
    Configuration menu
    Copy the full SHA
    2cd8754 View commit details
    Browse the repository at this point in the history