You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ti...@apache.org on 2020/04/24 10:33:19 UTC

[maven-gpg-plugin] 01/02: [MGPG-78] gpg version parsing failure on Windows

This is an automated email from the ASF dual-hosted git repository.

tibordigana pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-gpg-plugin.git

commit cd0f6d394d5ca0cc6bca77928809953dbb0e736b
Author: tibordigana <ti...@apache.org>
AuthorDate: Sat Apr 18 06:47:45 2020 +0200

    [MGPG-78] gpg version parsing failure on Windows
---
 src/main/java/org/apache/maven/plugins/gpg/GpgVersion.java     |  6 +++---
 src/test/java/org/apache/maven/plugins/gpg/GpgVersionTest.java | 10 +++++++---
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/apache/maven/plugins/gpg/GpgVersion.java b/src/main/java/org/apache/maven/plugins/gpg/GpgVersion.java
index 6e64577..35b33e0 100644
--- a/src/main/java/org/apache/maven/plugins/gpg/GpgVersion.java
+++ b/src/main/java/org/apache/maven/plugins/gpg/GpgVersion.java
@@ -47,13 +47,13 @@ public class GpgVersion implements Comparable<GpgVersion>
     @Override
     public int compareTo( GpgVersion other )
     {
-        Pattern p = Pattern.compile( "([.\\d]+)$" );
+        Pattern p = Pattern.compile( "(\\d+\\.)+(\\d+)" );
 
         String[] thisSegments;
         Matcher m = p.matcher( rawVersion );
         if ( m.find() )
         {
-            thisSegments  = m.group( 1 ).split( "\\." );
+            thisSegments  = m.group( 0 ).split( "\\." );
         }
         else
         {
@@ -64,7 +64,7 @@ public class GpgVersion implements Comparable<GpgVersion>
         m = p.matcher( other.rawVersion );
         if ( m.find() )
         {
-            otherSegments  = m.group( 1 ).split( "\\." );
+            otherSegments  = m.group( 0 ).split( "\\." );
         }
         else
         {
diff --git a/src/test/java/org/apache/maven/plugins/gpg/GpgVersionTest.java b/src/test/java/org/apache/maven/plugins/gpg/GpgVersionTest.java
index fb6bf47..337416d 100644
--- a/src/test/java/org/apache/maven/plugins/gpg/GpgVersionTest.java
+++ b/src/test/java/org/apache/maven/plugins/gpg/GpgVersionTest.java
@@ -19,11 +19,13 @@ package org.apache.maven.plugins.gpg;
  * under the License.
  */
 
-import static org.junit.Assert.assertTrue;
-
-import org.apache.maven.plugins.gpg.GpgVersion;
 import org.junit.Test;
 
+import static org.junit.Assert.assertTrue;
+
+/**
+ * Tests for {@link GpgVersion}.
+ */
 public class GpgVersionTest
 {
     @Test
@@ -32,6 +34,8 @@ public class GpgVersionTest
         assertTrue( GpgVersion.parse( "gpg (GnuPG) 2.2.1" ).isAtLeast( GpgVersion.parse( "gpg (GnuPG) 2.2.1" ) ) );
         assertTrue( GpgVersion.parse( "gpg (GnuPG) 2.2.1" ).isAtLeast( GpgVersion.parse( "2.1" ) ) );
         assertTrue( GpgVersion.parse( "gpg (GnuPG/MacGPG2) 2.2.10" ).isAtLeast( GpgVersion.parse( "2.2.10" ) ) );
+        assertTrue( GpgVersion.parse( "gpg (GnuPG) 2.0.26 (Gpg4win 2.2.3)" )
+                .isAtLeast( GpgVersion.parse( "2.0.26" ) ) );
     }
 
 }