You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/08/13 21:17:19 UTC

svn commit: r803995 - in /maven/components/trunk: maven-core/src/main/java/org/apache/maven/ maven-model-builder/src/main/java/org/apache/maven/model/building/ maven-model-builder/src/main/java/org/apache/maven/model/validation/

Author: bentmann
Date: Thu Aug 13 19:17:19 2009
New Revision: 803995

URL: http://svn.apache.org/viewvc?rev=803995&view=rev
Log:
[MNG-4297] Disallow use of properties in the project coordinates

o For Maven 3.0, started to produce a warning

Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=803995&r1=803994&r2=803995&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Thu Aug 13 19:17:19 2009
@@ -322,7 +322,7 @@
                 logger.warn( "It is highly recommended to fix these problems"
                     + " because they threaten the stability of your build." );
                 logger.warn( "" );
-                logger.warn( "For this reason, future Maven versions will no"
+                logger.warn( "For this reason, future Maven versions might no"
                     + " longer support building such malformed projects." );
                 logger.warn( "" );
             }

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java?rev=803995&r1=803994&r2=803995&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java Thu Aug 13 19:17:19 2009
@@ -289,6 +289,7 @@
 
         model.setPomFile( pomFile );
 
+        problems.setSourceHint( model );
         modelValidator.validateRawModel( model, request, problems );
 
         return model;

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java?rev=803995&r1=803994&r2=803995&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java Thu Aug 13 19:17:19 2009
@@ -71,6 +71,10 @@
 
         if ( request.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 )
         {
+            validateStringNoExpression( "groupId", problems, true, model.getGroupId() );
+            validateStringNoExpression( "artifactId", problems, true, model.getArtifactId() );
+            validateStringNoExpression( "version", problems, true, model.getVersion() );
+
             validateDependencies( problems, model.getDependencies(), "dependencies.dependency", request );
 
             if ( model.getDependencyManagement() != null )
@@ -385,6 +389,24 @@
     // Field validation
     // ----------------------------------------------------------------------
 
+    private boolean validateStringNoExpression( String fieldName, ModelProblemCollector problems, boolean warning,
+                                                String string )
+    {
+        if ( !hasExpression( string ) )
+        {
+            return true;
+        }
+
+        addViolation( problems, warning, "'" + fieldName + "' contains an expression but should be a constant." );
+
+        return false;
+    }
+
+    private boolean hasExpression( String value )
+    {
+        return value != null && value.indexOf( "${" ) >= 0;
+    }
+
     private boolean validateStringNotEmpty( String fieldName, ModelProblemCollector problems, boolean warning, String string )
     {
         return validateStringNotEmpty( fieldName, problems, warning, string, null );