You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2014/02/25 18:24:11 UTC

[2/8] git commit: Replace jakarta-regexp with java.util.regexp for maven-scm-providers-git

Replace jakarta-regexp with java.util.regexp for maven-scm-providers-git


Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/5e8173de
Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/5e8173de
Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/5e8173de

Branch: refs/heads/master
Commit: 5e8173de60478ca8138bd96b90b01331fa11c708
Parents: fb3714c
Author: Emmanuel Bourg <eb...@apache.org>
Authored: Mon Feb 24 17:49:44 2014 +0100
Committer: Emmanuel Bourg <eb...@apache.org>
Committed: Mon Feb 24 17:49:44 2014 +0100

----------------------------------------------------------------------
 .../maven-scm-provider-git-commons/pom.xml      |   7 -
 .../git/command/diff/GitDiffConsumer.java       |  27 +---
 .../maven-scm-provider-gitexe/pom.xml           |   4 -
 .../command/changelog/GitChangeLogConsumer.java | 128 ++++++-------------
 .../remoteinfo/GitRemoteInfoConsumer.java       |  36 ++----
 .../command/remove/GitRemoveConsumer.java       |  26 +---
 .../command/status/GitStatusConsumer.java       |  22 ++--
 .../GitLatestRevisionCommandConsumer.java       |  32 ++---
 .../changelog/GitChangeLogConsumerTest.java     |  14 +-
 .../maven-scm-provider-jgit/pom.xml             |   5 -
 10 files changed, 88 insertions(+), 213 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
index 743e1a6..9746e4c 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
@@ -33,13 +33,6 @@
   <name>Maven SCM Git Provider - Common library</name>
   <description>Common library for SCM Git Provider.</description>
 
-  <dependencies>
-    <dependency>
-      <groupId>regexp</groupId>
-      <artifactId>regexp</artifactId>
-    </dependency>
-  </dependencies>
-
   <build>
     <plugins>
       <plugin>

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java
index b24dce0..c1105bb 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java
@@ -22,8 +22,6 @@ package org.apache.maven.scm.provider.git.command.diff;
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.log.ScmLogger;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 
 import java.io.File;
@@ -31,6 +29,8 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
@@ -56,7 +56,7 @@ public class GitDiffConsumer
      * paren.1 matches the first file
      * paren.2 matches the 2nd file
      */
-    private static final String DIFF_FILES_PATTERN = "^diff --git\\sa/(.*)\\sb/(.*)";
+    private static final Pattern DIFF_FILES_PATTERN = Pattern.compile( "^diff --git\\sa/(.*)\\sb/(.*)" );
 
     private static final String START_REVISION_TOKEN = "---";
 
@@ -90,11 +90,6 @@ public class GitDiffConsumer
 
     private StringBuilder patch = new StringBuilder();
 
-    /**
-     * @see #DIFF_FILES_PATTERN
-     */
-    private RE filesRegexp;
-
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
@@ -102,17 +97,6 @@ public class GitDiffConsumer
     public GitDiffConsumer( ScmLogger logger, File workingDirectory )
     {
         this.logger = logger;
-        try
-        {
-            filesRegexp = new RE( DIFF_FILES_PATTERN );
-        }
-        catch ( RESyntaxException ex )
-        {
-            throw new RuntimeException(
-                                        "INTERNAL ERROR: Could not create regexp to parse git log file. Something is probably wrong with the oro installation.",
-                                        ex );
-        }
-
     }
 
     // ----------------------------------------------------------------------
@@ -122,10 +106,11 @@ public class GitDiffConsumer
     /** {@inheritDoc} */
     public void consumeLine( String line )
     {
-        if ( filesRegexp.match( line ) )
+        Matcher matcher = DIFF_FILES_PATTERN.matcher( line );
+        if ( matcher.matches() )
         {
             // start a new file
-            currentFile = filesRegexp.getParen( 1 );
+            currentFile = matcher.group( 1 );
 
             changedFiles.add( new ScmFile( currentFile, ScmFileStatus.MODIFIED ) );
 

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
index 2e2d913..1fb3728 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
@@ -35,10 +35,6 @@
 
   <dependencies>
     <dependency>
-      <groupId>regexp</groupId>
-      <artifactId>regexp</artifactId>
-    </dependency>
-    <dependency>
       <groupId>commons-io</groupId>
       <artifactId>commons-io</artifactId>
     </dependency>

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
index af38e0c..607a3f3 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
@@ -24,8 +24,6 @@ import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -33,6 +31,8 @@ import java.util.Date;
 import java.util.List;
 import java.util.Locale;
 import java.util.TimeZone;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
@@ -96,43 +96,43 @@ public class GitChangeLogConsumer
     /**
      * The pattern used to match git header lines
      */
-    private static final String HEADER_PATTERN = "^commit (.*)";
+    private static final Pattern HEADER_PATTERN = Pattern.compile( "^commit (.*)" );
 
     /**
      * The pattern used to match git author lines
      */
-    private static final String AUTHOR_PATTERN = "^Author: (.*)";
+    private static final Pattern AUTHOR_PATTERN = Pattern.compile( "^Author: (.*)" );
 
     /**
      * The pattern used to match git tree hash lines (raw mode)
      */
-    private static final String RAW_TREE_PATTERN = "^tree ([:xdigit:]+)";
+    private static final Pattern RAW_TREE_PATTERN = Pattern.compile( "^tree ([A-Fa-f0-9]+)" ); 
 
     /**
      * The pattern used to match git parent hash lines (raw mode)
      */
-    private static final String RAW_PARENT_PATTERN = "^parent ([:xdigit:]+)";
+    private static final Pattern RAW_PARENT_PATTERN = Pattern.compile( "^parent ([A-Fa-f0-9]+)" );
 
     /**
      * The pattern used to match git author lines (raw mode)
      */
-    private static final String RAW_AUTHOR_PATTERN = "^author (.+ <.+>) ([:digit:]+) (.*)";
+    private static final Pattern RAW_AUTHOR_PATTERN = Pattern.compile( "^author (.+ <.+>) ([0-9]+) (.*)" );
 
     /**
      * The pattern used to match git author lines (raw mode)
      */
-    private static final String RAW_COMMITTER_PATTERN = "^committer (.+ <.+>) ([:digit:]+) (.*)";
+    private static final Pattern RAW_COMMITTER_PATTERN = Pattern.compile( "^committer (.+ <.+>) ([0-9]+) (.*)" );
 
     /**
      * The pattern used to match git date lines
      */
-    private static final String DATE_PATTERN = "^Date:\\s*(.*)";
+    private static final Pattern DATE_PATTERN = Pattern.compile( "^Date:\\s*(.*)" );
 
     /**
      * The pattern used to match git file lines
      */
-    private static final String FILE_PATTERN =
-        "^:\\d* \\d* [:xdigit:]*\\.* [:xdigit:]*\\.* ([:upper:])[:digit:]*\\t([^\\t]*)(\\t(.*))?";
+    private static final Pattern FILE_PATTERN =
+        Pattern.compile( "^:\\d* \\d* [A-Fa-f0-9]*\\.* [A-Fa-f0-9]*\\.* ([A-Z])[0-9]*\\t([^\\t]*)(\\t(.*))?" );
 
     /**
      * Current status of the parser
@@ -159,46 +159,6 @@ public class GitChangeLogConsumer
      */
     private StringBuilder currentComment;
 
-    /**
-     * The regular expression used to match header lines
-     */
-    private RE headerRegexp;
-
-    /**
-     * The regular expression used to match author lines
-     */
-    private RE authorRegexp;
-
-    /**
-     * The regular expression used to match tree hash lines in raw mode
-     */
-    private RE rawTreeRegexp;
-
-    /**
-     * The regular expression used to match parent hash lines in raw mode
-     */
-    private RE rawParentRegexp;
-
-    /**
-     * The regular expression used to match author lines in raw mode
-     */
-    private RE rawAuthorRegexp;
-
-    /**
-     * The regular expression used to match committer lines in raw mode
-     */
-    private RE rawCommitterRegexp;
-
-    /**
-     * The regular expression used to match date lines
-     */
-    private RE dateRegexp;
-
-    /**
-     * The regular expression used to match file lines
-     */
-    private RE fileRegexp;
-
     private String userDateFormat;
 
     /**
@@ -209,24 +169,6 @@ public class GitChangeLogConsumer
         super( logger );
 
         this.userDateFormat = userDateFormat;
-
-        try
-        {
-            headerRegexp = new RE( HEADER_PATTERN );
-            authorRegexp = new RE( AUTHOR_PATTERN );
-            dateRegexp = new RE( DATE_PATTERN );
-            fileRegexp = new RE( FILE_PATTERN );
-            rawTreeRegexp = new RE( RAW_TREE_PATTERN );
-            rawParentRegexp = new RE( RAW_PARENT_PATTERN );
-            rawAuthorRegexp = new RE( RAW_AUTHOR_PATTERN );
-            rawCommitterRegexp = new RE( RAW_COMMITTER_PATTERN );
-        }
-        catch ( RESyntaxException ex )
-        {
-            throw new RuntimeException(
-                "INTERNAL ERROR: Could not create regexp to parse git log file. This shouldn't happen. Something is probably wrong with the oro installation.",
-                ex );
-        }
     }
 
     public List<ChangeSet> getModifications()
@@ -295,12 +237,13 @@ public class GitChangeLogConsumer
      */
     private void processGetHeader( String line )
     {
-        if ( !headerRegexp.match( line ) )
+        Matcher matcher = HEADER_PATTERN.matcher( line );
+        if ( !matcher.matches() )
         {
             return;
         }
 
-        currentRevision = headerRegexp.getParen( 1 );
+        currentRevision = matcher.group( 1 );
 
         currentChange = new ChangeSet();
 
@@ -318,18 +261,19 @@ public class GitChangeLogConsumer
     private void processGetAuthor( String line )
     {
         // this autodetects 'raw' format
-        if ( rawTreeRegexp.match( line ) )
+        if ( RAW_TREE_PATTERN.matcher( line ).matches() )
         {
             status = STATUS_RAW_TREE;
             processGetRawTree( line );
             return;
         }
 
-        if ( !authorRegexp.match( line ) )
+        Matcher matcher = AUTHOR_PATTERN.matcher( line );
+        if ( !matcher.matches() )
         {
             return;
         }
-        String author = authorRegexp.getParen( 1 );
+        String author = matcher.group( 1 );
 
         currentChange.setAuthor( author );
 
@@ -344,11 +288,11 @@ public class GitChangeLogConsumer
      */
     private void processGetRawTree( String line )
     {
-        if ( !rawTreeRegexp.match( line ) )
+        if ( !RAW_TREE_PATTERN.matcher( line ).matches() )
         {
             return;
         }
-        //here we could set treeHash if it appears in the model: currentChange.setTreeHash( rawTreeRegexp.getParen( 1 ) );
+        //here we could set treeHash if it appears in the model: currentChange.setTreeHash( matcher.group( 1 ) );
         status = STATUS_RAW_PARENT;
     }
 
@@ -360,13 +304,14 @@ public class GitChangeLogConsumer
      */
     private void processGetRawParent( String line )
     {
-        if ( !rawParentRegexp.match( line ) )
+        Matcher matcher = RAW_PARENT_PATTERN.matcher( line );
+        if ( !matcher.matches() )
         {
             status = STATUS_RAW_AUTHOR;
             processGetRawAuthor( line );
             return;
         }
-        String parentHash = rawParentRegexp.getParen( 1 );
+        String parentHash = matcher.group( 1 );
 
         addParentRevision( parentHash );
     }
@@ -397,15 +342,16 @@ public class GitChangeLogConsumer
      */
     private void processGetRawAuthor( String line )
     {
-        if ( !rawAuthorRegexp.match( line ) )
+        Matcher matcher = RAW_AUTHOR_PATTERN.matcher( line );
+        if ( !matcher.matches() )
         {
             return;
         }
-        String author = rawAuthorRegexp.getParen( 1 );
+        String author = matcher.group( 1 );
         currentChange.setAuthor( author );
 
-        String datestring = rawAuthorRegexp.getParen( 2 );
-        String tz = rawAuthorRegexp.getParen( 3 );
+        String datestring = matcher.group( 2 );
+        String tz = matcher.group( 3 );
 
         // with --format=raw option (which gets us to this methods), date is always in seconds since beginning of time
         // even explicit --date=iso is ignored, so we ignore both userDateFormat and GIT_TIMESTAMP_PATTERN here
@@ -424,7 +370,7 @@ public class GitChangeLogConsumer
      */
     private void processGetRawCommitter( String line )
     {
-        if ( !rawCommitterRegexp.match( line ) )
+        if ( !RAW_COMMITTER_PATTERN.matcher( line ).matches() )
         {
             return;
         }
@@ -440,12 +386,13 @@ public class GitChangeLogConsumer
      */
     private void processGetDate( String line, Locale locale )
     {
-        if ( !dateRegexp.match( line ) )
+        Matcher matcher = DATE_PATTERN.matcher( line );
+        if ( !matcher.matches() )
         {
             return;
         }
 
-        String datestring = dateRegexp.getParen( 1 );
+        String datestring = matcher.group( 1 );
 
         Date date = parseDate( datestring.trim(), userDateFormat, GIT_TIMESTAMP_PATTERN, locale );
 
@@ -508,14 +455,15 @@ public class GitChangeLogConsumer
         }
         else
         {
-            if ( !fileRegexp.match( line ) )
+            Matcher matcher = FILE_PATTERN.matcher( line );
+            if ( !matcher.matches() )
             {
                 return;
             }
-            final String actionChar = fileRegexp.getParen( 1 );
+            final String actionChar = matcher.group( 1 );
             // action is currently not used
             final ScmFileStatus action;
-            String name = fileRegexp.getParen( 2 );
+            String name = matcher.group( 2 );
             String originalName = null;
             String originalRevision = null;
             if ( "A".equals( actionChar ) )
@@ -534,14 +482,14 @@ public class GitChangeLogConsumer
             {
                 action = ScmFileStatus.RENAMED;
                 originalName = name;
-                name = fileRegexp.getParen( 4 );
+                name = matcher.group( 4 );
                 originalRevision = currentChange.getParentRevision();
             }
             else if ( "C".equals( actionChar ) )
             {
                 action = ScmFileStatus.COPIED;
                 originalName = name;
-                name = fileRegexp.getParen( 4 );
+                name = matcher.group( 4 );
                 originalRevision = currentChange.getParentRevision();
             }
             else

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumer.java
index 36db6ea..b3d022c 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumer.java
@@ -21,11 +21,11 @@ package org.apache.maven.scm.provider.git.gitexe.command.remoteinfo;
 
 import org.apache.maven.scm.command.remoteinfo.RemoteInfoScmResult;
 import org.apache.maven.scm.log.ScmLogger;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 
 import java.util.HashMap;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author Bertrand Paquet
@@ -37,21 +37,17 @@ public class GitRemoteInfoConsumer
     /**
      * The pattern used to match branches
      */
-    private static final String BRANCH_PATTERN = "^(.*)\\s+refs/heads/(.*)";
+    private static final Pattern BRANCH_PATTERN = Pattern.compile( "^(.*)\\s+refs/heads/(.*)" );
 
     /**
      * The pattern used to match tags
      */
-    private static final String TAGS_PATTERN = "^(.*)\\s+refs/tags/(.*)";
+    private static final Pattern TAGS_PATTERN = Pattern.compile( "^(.*)\\s+refs/tags/(.*)" );
 
     private ScmLogger logger;
 
     private RemoteInfoScmResult remoteInfoScmResult;
 
-    private RE branchRegexp;
-
-    private RE tagRegexp;
-
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
@@ -61,18 +57,6 @@ public class GitRemoteInfoConsumer
         this.logger = logger;
         this.remoteInfoScmResult =
             new RemoteInfoScmResult( commandLine, new HashMap<String, String>(), new HashMap<String, String>() );
-
-        try
-        {
-            this.branchRegexp = new RE( BRANCH_PATTERN );
-            this.tagRegexp = new RE( TAGS_PATTERN );
-        }
-        catch ( RESyntaxException ex )
-        {
-            throw new RuntimeException(
-                "INTERNAL ERROR: Could not create regexp to parse git ls-remote file. This shouldn't happen. Something is probably wrong with the oro installation.",
-                ex );
-        }
     }
 
     // ----------------------------------------------------------------------
@@ -88,13 +72,17 @@ public class GitRemoteInfoConsumer
         {
             logger.debug( line );
         }
-        if ( branchRegexp.match( line ) )
+        
+        Matcher matcher = BRANCH_PATTERN.matcher( line );
+        if ( matcher.matches() )
         {
-            remoteInfoScmResult.getBranches().put( branchRegexp.getParen( 2 ), branchRegexp.getParen( 1 ) );
+            remoteInfoScmResult.getBranches().put( matcher.group( 2 ), matcher.group( 1 ) );
         }
-        if ( tagRegexp.match( line ) )
+        
+        matcher = TAGS_PATTERN.matcher( line );
+        if ( matcher.matches() )
         {
-            remoteInfoScmResult.getTags().put( tagRegexp.getParen( 2 ), tagRegexp.getParen( 1 ) );
+            remoteInfoScmResult.getTags().put( matcher.group( 2 ), matcher.group( 1 ) );
         }
 
     }

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java
index 012f9fc..730a5aa 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java
@@ -22,12 +22,12 @@ package org.apache.maven.scm.provider.git.gitexe.command.remove;
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.log.ScmLogger;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
@@ -40,17 +40,12 @@ public class GitRemoveConsumer
     /**
      * The pattern used to match deleted file lines
      */
-    private static final String REMOVED_PATTERN = "^rm\\s'(.*)'";
+    private static final Pattern REMOVED_PATTERN = Pattern.compile( "^rm\\s'(.*)'" );
 
     private ScmLogger logger;
 
     private List<ScmFile> removedFiles = new ArrayList<ScmFile>();
 
-    /**
-     * @see #REMOVED_PATTERN
-     */
-    private RE removedRegexp;
-
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
@@ -58,16 +53,6 @@ public class GitRemoveConsumer
     public GitRemoveConsumer( ScmLogger logger )
     {
         this.logger = logger;
-        try
-        {
-            removedRegexp = new RE( REMOVED_PATTERN );
-        }
-        catch ( RESyntaxException ex )
-        {
-            throw new RuntimeException(
-                "INTERNAL ERROR: Could not create regexp to parse git log file. This shouldn't happen. Something is probably wrong with the oro installation.",
-                ex );
-        }
     }
 
     // ----------------------------------------------------------------------
@@ -84,9 +69,10 @@ public class GitRemoveConsumer
             return;
         }
 
-        if ( removedRegexp.match( line ) )
+        Matcher matcher = REMOVED_PATTERN.matcher( line );
+        if ( matcher.matches() )
         {
-            String file = removedRegexp.getParen( 1 );
+            String file = matcher.group( 1 );
             removedFiles.add( new ScmFile( file, ScmFileStatus.DELETED ) );
         }
         else

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
index b0ac43a..2259223 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
@@ -42,22 +42,22 @@ public class GitStatusConsumer
     /**
      * The pattern used to match added file lines
      */
-    private static final Pattern addedRegexp = Pattern.compile( "^A[ M]* (.*)$" );
+    private static final Pattern ADDED_PATTERN = Pattern.compile( "^A[ M]* (.*)$" );
 
     /**
      * The pattern used to match modified file lines
      */
-    private static final Pattern modifiedRegexp = Pattern.compile( "^ *M[ M]* (.*)$" );
+    private static final Pattern MODIFIED_PATTERN = Pattern.compile( "^ *M[ M]* (.*)$" );
 
     /**
      * The pattern used to match deleted file lines
      */
-    private Pattern deletedRegexp = Pattern.compile( "^ *D * (.*)$" );
+    private static final Pattern DELETED_PATTERN = Pattern.compile( "^ *D * (.*)$" );
 
     /**
      * The pattern used to match renamed file lines
      */
-    private Pattern renamedRegexp = Pattern.compile( "^R  (.*) -> (.*)$" );
+    private static final Pattern RENAMED_PATTERN = Pattern.compile( "^R  (.*) -> (.*)$" );
 
     private ScmLogger logger;
 
@@ -127,22 +127,22 @@ public class GitStatusConsumer
         List<String> files = new ArrayList<String>();
         
         Matcher matcher;
-        if ( ( matcher = addedRegexp.matcher( line ) ).find() )
+        if ( ( matcher = ADDED_PATTERN.matcher( line ) ).find() )
         {
             status = ScmFileStatus.ADDED;
-            files.add( resolvePath( matcher.group( 1 ), relativeRepositoryPath ) );
+            files.add(resolvePath(matcher.group(1), relativeRepositoryPath));
         }
-        else if ( ( matcher = modifiedRegexp.matcher( line ) ).find() )
+        else if ( ( matcher = MODIFIED_PATTERN.matcher( line ) ).find() )
         {
             status = ScmFileStatus.MODIFIED;
-            files.add( resolvePath( matcher.group( 1 ), relativeRepositoryPath ) );
+            files.add(resolvePath(matcher.group(1), relativeRepositoryPath));
         }
-        else if ( ( matcher = deletedRegexp.matcher( line ) ) .find() )
+        else if ( ( matcher = DELETED_PATTERN.matcher( line ) ) .find() )
         {
             status = ScmFileStatus.DELETED;
-            files.add( resolvePath( matcher.group( 1 ), relativeRepositoryPath ) );
+            files.add(resolvePath(matcher.group(1), relativeRepositoryPath));
         }
-        else if ( ( matcher = renamedRegexp.matcher( line ) ).find() )
+        else if ( ( matcher = RENAMED_PATTERN.matcher( line ) ).find() )
         {
             status = ScmFileStatus.RENAMED;
             files.add( resolvePath( matcher.group( 1 ), relativeRepositoryPath ) );

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumer.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumer.java
index 186cc81..df222f8 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumer.java
@@ -21,10 +21,11 @@ package org.apache.maven.scm.provider.git.gitexe.command.update;
 
 import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
-import org.apache.regexp.RE;
-import org.apache.regexp.RESyntaxException;
 import org.codehaus.plexus.util.StringUtils;
 
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  *
@@ -36,30 +37,13 @@ public class GitLatestRevisionCommandConsumer
     /**
      * The pattern used to match git log latest revision lines
      */
-    private static final String LATESTREV_PATTERN = "^commit \\s*(.*)";
-
-    /**
-     * The regular expression used to match git log latest revision lines
-     */
-    private RE latestRevRegexp;
+    private static final Pattern LATESTREV_PATTERN = Pattern.compile( "^commit \\s*(.*)" );
 
     private String latestRevision;
 
     public GitLatestRevisionCommandConsumer( ScmLogger logger )
     {
         super( logger );
-
-        try
-        {
-            latestRevRegexp = new RE( LATESTREV_PATTERN );
-        }
-        catch ( RESyntaxException ex )
-        {
-            throw new RuntimeException( "INTERNAL ERROR: Could not create regexp to parse git log file. This shouldn't happen. "
-                                        + "Something is probably wrong with the oro installation.",
-                                        ex );
-        }
-
     }
 
     /** {@inheritDoc} */
@@ -89,12 +73,12 @@ public class GitLatestRevisionCommandConsumer
      */
     private void processGetLatestRevision( String line )
     {
-        if ( !latestRevRegexp.match( line ) )
+        Matcher matcher = LATESTREV_PATTERN.matcher( line );
+        if ( matcher.matches() )
         {
-            return;
-        }
+            latestRevision = matcher.group( 1 );
 
-        latestRevision = latestRevRegexp.getParen( 1 );
+        }
     }
 
 }

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java
index 95f0c28..c8365bf 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java
@@ -23,7 +23,6 @@ import org.apache.maven.scm.ChangeFile;
 import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.log.DefaultLog;
-import org.apache.regexp.RE;
 import org.codehaus.plexus.PlexusTestCase;
 import org.junit.Assert;
 
@@ -37,6 +36,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.TimeZone;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
@@ -50,12 +51,11 @@ public class GitChangeLogConsumerTest
     {
         //was  Date:   Tue Nov 27 16:16:28 2007 +0100
         //iso  Date:   2007-11-24 01:13:10 +0100
-        RE dateRegexp = new RE( "^Date:\\s*(.*)" );//new RE( "^Date:\\s*\\w-1\\w-1\\w-1\\s(.*)" );
-
-        boolean match = dateRegexp.match( "Date:   2007-11-24 01:13:10 +0100" );
-        String datestring = dateRegexp.getParen( 1 );
-        assertEquals( "2007-11-24 01:13:10 +0100", datestring );
-        assertTrue( match );
+        Pattern datePattern = Pattern.compile( "^Date:\\s*(.*)" );//new RE( "^Date:\\s*\\w-1\\w-1\\w-1\\s(.*)" );
+        Matcher matcher = datePattern.matcher( "Date:   2007-11-24 01:13:10 +0100" );
+        
+        assertTrue( matcher.matches() );
+        assertEquals("2007-11-24 01:13:10 +0100", matcher.group( 1 ));
 
         GitChangeLogConsumer consumer = new GitChangeLogConsumer( new DefaultLog(), null );
 

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5e8173de/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
index 41591a6..b14a9d7 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
@@ -36,11 +36,6 @@
   </description>
 
   <dependencies>
-    <dependency>
-      <groupId>regexp</groupId>
-      <artifactId>regexp</artifactId>
-    </dependency>
-
     <!-- Test -->
     <dependency>
       <groupId>org.apache.maven.scm</groupId>