You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2017/12/30 18:11:44 UTC
maven git commit: [MNG-6305] Validation of CI friendly version
incorrect More efficient usage of regular expressions
Repository: maven
Updated Branches:
refs/heads/MNG-6305-validation-of-ci-friendly ec65d84d6 -> 14bd534ea
[MNG-6305] Validation of CI friendly version incorrect
More efficient usage of regular expressions
Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/14bd534e
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/14bd534e
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/14bd534e
Branch: refs/heads/MNG-6305-validation-of-ci-friendly
Commit: 14bd534ea51893b1ceb19d9a956c69c8aa559127
Parents: ec65d84
Author: rfscholte <rf...@apache.org>
Authored: Sat Dec 30 19:11:35 2017 +0100
Committer: rfscholte <rf...@apache.org>
Committed: Sat Dec 30 19:11:35 2017 +0100
----------------------------------------------------------------------
.../model/validation/DefaultModelValidator.java | 73 +++++++++++++-------
1 file changed, 47 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven/blob/14bd534e/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
index 30c0043..d355454 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
@@ -26,6 +26,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.maven.model.Activation;
@@ -877,36 +878,56 @@ public class DefaultModelValidator
// revision
// sha1
//
- string = string.trim();
- if ( string.contains( AbstractStringBasedModelInterpolator.CHANGELIST_PROPERTY_EXPRESSION )
- || string.contains( AbstractStringBasedModelInterpolator.REVISION_PROPERTY_EXPRESSION )
- || string.contains( AbstractStringBasedModelInterpolator.SHA1_PROPERTY_EXPRESSION ) )
+
+ Pattern p = Pattern.compile( "\\$\\{(.+)\\}" );
+
+ List<String> ciVersions = Arrays.asList( AbstractStringBasedModelInterpolator.REVISION_PROPERTY,
+ AbstractStringBasedModelInterpolator.CHANGELIST_PROPERTY,
+ AbstractStringBasedModelInterpolator.SHA1_PROPERTY );
+ Matcher m = p.matcher( string.trim() );
+ while ( m.find() )
{
- //@formatter:off
- string =
- PATTERN_REVISION_PROPERTY
- .matcher( string )
- .replaceAll( AbstractStringBasedModelInterpolator.REVISION_PROPERTY );
- string =
- PATTERN_CHANGELIST_PROPERTY
- .matcher( string )
- .replaceAll( AbstractStringBasedModelInterpolator.CHANGELIST_PROPERTY );
- string =
- PATTERN_SHA1_PROPERTY
- .matcher( string )
- .replaceAll( AbstractStringBasedModelInterpolator.SHA1_PROPERTY );
- //@formatter:on
-
- if ( !hasExpression( string ) )
+ if ( !ciVersions.contains( m.group( 1 ) ) )
{
- return true;
+ addViolation( problems, severity, version, fieldName, null, "contains an expression but should be a constant.",
+ tracker );
+
+ return false;
}
}
-
- addViolation( problems, severity, version, fieldName, null, "contains an expression but should be a constant.",
- tracker );
-
- return false;
+
+ return true;
+
+// string = string.trim();
+// if ( string.contains( AbstractStringBasedModelInterpolator.CHANGELIST_PROPERTY_EXPRESSION )
+// || string.contains( AbstractStringBasedModelInterpolator.REVISION_PROPERTY_EXPRESSION )
+// || string.contains( AbstractStringBasedModelInterpolator.SHA1_PROPERTY_EXPRESSION ) )
+// {
+// //@formatter:off
+// string =
+// PATTERN_REVISION_PROPERTY
+// .matcher( string )
+// .replaceAll( AbstractStringBasedModelInterpolator.REVISION_PROPERTY );
+// string =
+// PATTERN_CHANGELIST_PROPERTY
+// .matcher( string )
+// .replaceAll( AbstractStringBasedModelInterpolator.CHANGELIST_PROPERTY );
+// string =
+// PATTERN_SHA1_PROPERTY
+// .matcher( string )
+// .replaceAll( AbstractStringBasedModelInterpolator.SHA1_PROPERTY );
+// //@formatter:on
+//
+// if ( !hasExpression( string ) )
+// {
+// return true;
+// }
+// }
+//
+// addViolation( problems, severity, version, fieldName, null, "contains an expression but should be a constant.",
+// tracker );
+//
+// return false;
}
private boolean hasExpression( String value )