refactor(versions): Refactor 'versions.ps1'#3721
refactor(versions): Refactor 'versions.ps1'#3721niheaven merged 23 commits intoScoopInstaller:developfrom
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 resetor version roll-back. IfNO_JUNCTIONSis set, use creating time ofinstall.jsonto find last installed version as current version.Add
force-updateconfig 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