-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
refactor(versions): Refactor 'versions.ps1' #3721
refactor(versions): Refactor 'versions.ps1' #3721
Conversation
'+' is useful in so many cases (not only Flutter, but also JDK). I appreciate this work. |
I've noticed many different usages of '+' sign outside semver's metadata, maybe a better sollution is deprecating the use of '+' in If parse versions with an uniform pattern, it's difficult to distinguish between metadata and build number. The simplest way is trim metadata in |
You will confuse user when you manipulate with version name. |
I mean, trimming metadata in |
|
I guess it's ok to manipulate the version inside the |
Due to https://semver.org/#spec-item-10
So trimming metadata in But if '+' means post-release likes Flutter, version |
How about |
Of cource jdk-13.0.1+9.1_openj9-0.17.0 > jdk-12.0.2+10. BTW, _openj9-0.17.0 should be omitted in version, I thought. |
I meant, should the
|
So I just want to discuss if we need trimming metadata in If above is preferred, I'll modify the function to adopt it. |
In those use cases that I know (all variant of JDK, and Flutter), all '+' are treated as post-release. No manifest I know is treating '+' as metadata, though it's a SemVer standard. Therefore I prefer leaving '+' as post-release tag in But this should be documented in the wiki. |
Now use '+' as post-release delimiter, and manifest maintainer should trim metadata in 'checkver.regex'. After merging, I'll update wiki. |
And #3613 should be integrated into this pr. |
The pull request has conflicts now. @niheaven |
So can this pull request be merged into develop branch? |
Ping @r15ch13 |
Listing of nightly version manifest will be broken as you always return Potential fix: Ash258@ddf8304 This fix will prevent This PR presents breaking change. Example scenario:
|
Co-Authored-By: Jakub Čábera <cabera.jakub@gmail.com>
Reworking of #3333, #3578, #3648
Fix #2720, fix #3687, fix #4236, fix #4244, fix #4306
Get correct current version from
apps\xxx\current\manifest.json
, so works well afterscoop reset
or version roll-back. IfNO_JUNCTIONS
is set, use creating time ofinstall.json
to find last installed version as current version.Add
force-update
config option that forces to update to manifest version (for version roll-back).Now use '+' as post-release delimiter, and manifest maintainer should trim metadata in 'checkver.regex'. #3613