rfscholte commented on a change in pull request #451:
URL: https://github.com/apache/maven/pull/451#discussion_r583625188



##########
File path: 
maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
##########
@@ -850,36 +853,75 @@ private boolean validateId( String prefix, String 
fieldName, ModelProblemCollect
         }
         else
         {
-            if ( !isValidId( id ) )
+            if ( !isValidCoordinateId( id ) )
             {
                 addViolation( problems, severity, version, prefix + fieldName, 
sourceHint,
-                              "with value '" + id + "' does not match a valid 
id pattern.", tracker );
+                              "with value '" + id + "' does not match a valid 
coordinate id pattern.", tracker );
                 return false;
             }
-            validIds.add( id );
+            validCoordinateIds.add( id );
             return true;
         }
     }
 
-    private boolean isValidId( String id )
+    private boolean isValidCoordinateId( String id )
     {
         for ( int i = 0; i < id.length(); i++ )
         {
             char c = id.charAt( i );
-            if ( !isValidIdCharacter( c ) )
+            if ( !isValidCoordinateIdCharacter( c ) )
             {
                 return false;
             }
         }
         return true;
     }
 
-
-    private boolean isValidIdCharacter( char c )
+    private boolean isValidCoordinateIdCharacter( char c )
     {
         return c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c 
<= '9' || c == '-' || c == '_' || c == '.';
     }
 
+    @SuppressWarnings( "checkstyle:parameternumber" )
+    private boolean validateProfileId( String prefix, String fieldName, 
ModelProblemCollector problems,
+                                       Severity severity, Version version, 
String id, String sourceHint,
+                                       InputLocationTracker tracker )
+    {
+        if ( validProfileIds.contains( id ) )
+        {
+            return true;
+        }
+        if ( !validateStringNotEmpty( prefix, fieldName, problems, severity, 
version, id, sourceHint, tracker ) )
+        {
+            return false;
+        }
+        else
+        {
+            if ( !isValidProfileId( id ) )
+            {
+                addViolation( problems, severity, version, prefix + fieldName, 
sourceHint,
+                              "with value '" + id + "' does not match a valid 
profile id pattern.", tracker );
+                return false;
+            }
+            validProfileIds.add( id );
+            return true;
+        }
+    }
+
+    private boolean isValidProfileId( String id )
+    {
+        switch ( id.charAt( 0 ) )
+        { // avoid first character that has special CLI meaning in "mvn -P xxx"

Review comment:
       IMO a profileId should never contain a comma or a space, as it would 
confuse the commandline




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to