From 68dfc27f3981fda948330e919aac986bdf2a0229 Mon Sep 17 00:00:00 2001
From: Sergei Zharinov <zharinov@users.noreply.github.com>
Date: Fri, 14 Jan 2022 09:32:55 +0300
Subject: [PATCH] fix(maven): Correct order for versions with different length
 (#13552)

---
 lib/versioning/maven/compare.spec.ts | 7 +++++++
 lib/versioning/maven/compare.ts      | 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/versioning/maven/compare.spec.ts b/lib/versioning/maven/compare.spec.ts
index f15bec70b1..5ff1c3eb61 100644
--- a/lib/versioning/maven/compare.spec.ts
+++ b/lib/versioning/maven/compare.spec.ts
@@ -177,6 +177,13 @@ describe('versioning/maven/compare', () => {
         ${'1-milestone'}                                | ${'1-snapshot'}
         ${'1-abc'}                                      | ${'1-xyz'}
         ${'Hoxton.RELEASE'}                             | ${'Hoxton.SR1'}
+        ${'2.0'}                                        | ${'2.0-PFD2'}
+        ${'2.0'}                                        | ${'2.0.SP1'}
+        ${'2.0-PFD2'}                                   | ${'2.0.SP1'}
+        ${'1.3.9'}                                      | ${'1.3.9.fix-log4j2'}
+        ${'1-0.alpha'}                                  | ${'1'}
+        ${'1-0.beta'}                                   | ${'1'}
+        ${'1-0.alpha'}                                  | ${'1-0.beta'}
       `('$x < $y', ({ x, y }) => {
         expect(compare(x, y)).toBe(-1);
         expect(compare(y, x)).toBe(1);
diff --git a/lib/versioning/maven/compare.ts b/lib/versioning/maven/compare.ts
index 3d641f8f55..c0f5a5fb8e 100644
--- a/lib/versioning/maven/compare.ts
+++ b/lib/versioning/maven/compare.ts
@@ -140,7 +140,7 @@ function tokenize(versionStr: string, preserveMinorZeroes = false): Token[] {
 }
 
 function nullFor(token: Token): Token {
-  return token.prefix === PREFIX_DOT
+  return token.type === TYPE_NUMBER
     ? {
         prefix: token.prefix,
         type: TYPE_NUMBER,
-- 
GitLab