This repository was archived by the owner on Jan 23, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 217
Roll forward #5691
Merged
Merged
Roll forward #5691
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
@elinor-fung, @sdmaclea please start on the review. I expect it will take a while as this is a rather large change. The missing TODOs should not cause any major code churn anymore. |
a1bb2ad to
885704b
Compare
sdmaclea
reviewed
Apr 11, 2019
sdmaclea
reviewed
Apr 11, 2019
sdmaclea
reviewed
Apr 11, 2019
Documentation/design-docs/framework-version-resolution-implementation.md
Outdated
Show resolved
Hide resolved
sdmaclea
reviewed
Apr 11, 2019
Documentation/design-docs/framework-version-resolution-implementation.md
Outdated
Show resolved
Hide resolved
sdmaclea
reviewed
Apr 11, 2019
Documentation/design-docs/framework-version-resolution-implementation.md
Outdated
Show resolved
Hide resolved
sdmaclea
reviewed
Apr 11, 2019
sdmaclea
reviewed
Apr 11, 2019
sdmaclea
reviewed
Apr 11, 2019
sdmaclea
reviewed
Apr 11, 2019
sdmaclea
reviewed
Apr 11, 2019
sdmaclea
reviewed
Apr 11, 2019
sdmaclea
reviewed
Apr 11, 2019
sdmaclea
reviewed
Apr 11, 2019
sdmaclea
reviewed
Apr 11, 2019
sdmaclea
reviewed
Apr 11, 2019
sdmaclea
reviewed
Apr 11, 2019
sdmaclea
reviewed
Apr 11, 2019
Introduce runtime config settings which store the two optional field still needed and use that instead of a dummy framework reference where applicable.
Co-Authored-By: vitek-karas <vitek.karas@microsoft.com>
Co-Authored-By: vitek-karas <vitek.karas@microsoft.com>
…ltipleFrameworks.cs Co-Authored-By: vitek-karas <vitek.karas@microsoft.com>
Some infra changes to simplify writing tests. Use fluent assertion in the test cases themselves (as oppose to magical helper functions). Better formatting of inline data with headers. Description of each test what it does. General cleanup (unify everything on the TestSettings). Add some more tests where coverage was missing.
Change the soft-roll-forward to "reconcile framework references". The helper functions are now without side effects and simply return the new effective framework reference. Move the state mutating code to the caller, which makes it much easier to follow the algorithm. Some other small renames - basically getting rid of "Soft roll forward" and "Hard roll forward" terms. Updating the algorithm in the doc with the new terminology. No functional changes.
If LatestMinor and Major references are merged, previously the effective reference would be LatestMinor. Bu that goes against the Major semantics of "pick closest". This change is modifying the outcome of that merge to Minor. This produces the more restrictive version selection (lower versions are prefered). This behavior is still being discussed in dotnet/core-setup#5870 and may change. Added tests for merging roll forward settings.
b4cfee4 to
20ab664
Compare
|
The command line needs to be document in CLI - see dotnet/cli#11213 |
picenka21
pushed a commit
to picenka21/runtime
that referenced
this pull request
Feb 18, 2022
This is the new implementation of the framework resolution with the new roll forward setting. The spec for this is [framework version resolution](https://github.com/dotnet/core-setup/blob/master/Documentation/design-docs/framework-version-resolution.md). Major parts: - introduce `rollForward` setting (CLI, env, config) - convert the existing `rollForwardOnNoCandidateFx` to the new `rollForward` internally - change framework reference compatibility algorithm to use the new `rollFoward` settings. - basically rewrite the framework resolution algorithm with the new settings and fix an existing bug with incorrect retry logic - add test infra for the new setting - add tests for the new setting Commit migrated from dotnet/core-setup@ef496a0
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the new implementation of the framework resolution with the new roll forward setting.
The spec for this is framework version resolution.
Major parts:
rollForwardsetting (CLI, env, config)rollForwardOnNoCandidateFxto the newrollForwardinternallyrollFowardsettings.Still work in progress:
DOTNET_ROLL_FORWARD_TO_PRERELEASEDOTNET_ROLL_FORWARD_TO_PRERELEASE