mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-24 22:48:06 +00:00
96ad4beb6a
* fix(versioning): use BigInt to avoid integer precision loss in gradle, maven and loose * fix(versioning): preserve exact update types * Update lib/modules/versioning/maven/index.ts * fix(versioning): satisfy func-style and prefer-at lint rules * treat missing loose version section as zero in isSame * fix coverage * revert unrelated custom-manager rangeStrategy change --------- Co-authored-by: Sergei Zharinov <zharinov@users.noreply.github.com>
Maven versioning is similar to SemVer but also very different in places. It's specified by Maven itself.
Ranges are supported using Maven's special syntax.
For development purposes, download maven-artifact JAR and run:
$ java -jar maven-artifact-*.jar 3.2.4-alpha-1 3.2.4-SNAPSHOT 3.2.4.0
Display parameters as parsed by Maven (in canonical form) and comparison result:
1. 3.2.4-alpha-1 == 3.2.4.alpha.1
3.2.4-alpha-1 < 3.2.4-SNAPSHOT
2. 3.2.4-SNAPSHOT == 3.2.4.snapshot
3.2.4-SNAPSHOT < 3.2.4.0
3. 3.2.4.0 == 3.2.4