Update LL version stringification and make parsing stricter #6334
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.
Description of the changes
It turns out that the stringification of Lavalink versions with
rc
and/orred
suffixes was broken but the test suite didn't detect it due to being written incorrectly:3.5.0-rc.4
was incorrectly stringified to:3.5.0-rc4
3.6.0-rc.1
was incorrectly stringified to:3.6.0-rc1
3.7.5-rc.1+red.1
was incorrectly stringified to:3.7.5-rc1_red1
3.7.5-rc.1+red.123
was incorrectly stringified to:3.7.5-rc1_red123
3.7.5+red.1
was incorrectly stringified to:3.7.5_red1
3.7.5+red.123
was incorrectly stringified to:3.7.5_red123
This PR fixes that. Note that the current RC release (
3.7.12-rc1+red1
) is missing a dot betweenrc
and the number so it is NOT possible to test that the download works correctly by only updating the version:I did, however, change the tagged release for a few minutes just so that I can validate this and it is, in fact, downloading the jar without issues.
Additionally, per @aikaterna's suggestion, I made our version parser stricter to prevent incorrect formatting of the version in the future.
Last but not least, the reason for the jar download (first-time download, parsing failure, or outdated version) is now logged.
Have the changes in this PR been tested?
Yes