Repository navigation
Apply version ranges to nuspecs during fix-up command - #3835
Merged
forki merged 2 commits intoApr 26, 2020
Merged
Conversation
baronfel
commented
Apr 24, 2020
Contributor
Author
|
There's one failure on appveyor that's in an old-framework test, I'm not sure it's relevant here |
Contributor
Author
|
@forki do you have opinions/pointers on where/how I can test this? |
Member
|
is this something that should be released in 5.x? In that case can you please retarget it against |
baronfel
force-pushed
the
2883-fixup-version-ranges-in-dotnet-sdk
branch
from
April 25, 2020 19:13
8cf804a to
bc81861
Compare
Contributor
Author
|
Retargeted as requested 👍 |
This was referenced Oct 11, 2021
Closed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Per #2883, version ranges specified in paket.dependencies weren't patched into auto-generated nuspecs as part of the
fix-nuspecscall. This PR attempts to add them in, in addition to a slight cleanup of the existing logic to make it easier to follow in my view.The approach is to first determine what the nuspec file ranges should be for all known dependencies. This is done by taking the ranges specified in the dependencies file, which are optimistic, and modifying them with the 'resolved' information from the lock file. What this means depends on the type of range specified:
Once we have these ranges derived, we iterate through the dependencies in the nuspec as before, only taking action if we encounter a dependency that we know is a direct dependency.
Caveats:
I don't have tests for this yet, but from manual testing on F# Formatting (after adding an upper bound myself to the dependencies file and manually calling
fix-nuspecson the generated nuspecs), this seems to work:results in a nuspec with the range