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>