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/11/24 00:09:20 UTC
svn commit: r883537 - in /maven/maven-3/trunk/maven-model-builder/src:
main/java/org/apache/maven/model/validation/
test/java/org/apache/maven/model/validation/ test/resources/poms/validation/
Author: bentmann
Date: Mon Nov 23 23:09:20 2009
New Revision: 883537
URL: http://svn.apache.org/viewvc?rev=883537&view=rev
Log:
[MNG-4466] Plugin Metaversion Compatibility
Modified:
maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
maven/maven-3/trunk/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java
maven/maven-3/trunk/maven-model-builder/src/test/resources/poms/validation/bad-plugin-version.xml
Modified: maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java?rev=883537&r1=883536&r2=883537&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java (original)
+++ maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java Mon Nov 23 23:09:20 2009
@@ -264,7 +264,7 @@
validateStringNotEmpty( "build.plugins.plugin.version", problems, errOn31, p.getVersion(),
p.getKey() );
- validateVersion( "build.plugins.plugin.version", problems, errOn30, p.getVersion(), p.getKey() );
+ validatePluginVersion( "build.plugins.plugin.version", problems, errOn30, p.getVersion(), p.getKey() );
validateBoolean( "build.plugins.plugin.inherited", problems, errOn30, p.getInherited(),
p.getKey() );
@@ -655,6 +655,32 @@
return false;
}
+ private boolean validatePluginVersion( String fieldName, ModelProblemCollector problems, Severity severity, String string,
+ String sourceHint )
+ {
+ if ( string == null || string.length() <= 0 )
+ {
+ return true;
+ }
+
+ if ( !hasExpression( string ) && !"RELEASE".equals( string ) && !"LATEST".equals( string ) )
+ {
+ return true;
+ }
+
+ if ( sourceHint != null )
+ {
+ addViolation( problems, severity, "'" + fieldName + "' must be a valid version for " + sourceHint
+ + " but is '" + string + "'." );
+ }
+ else
+ {
+ addViolation( problems, severity, "'" + fieldName + "' must be a valid version but is '" + string + "'." );
+ }
+
+ return false;
+ }
+
private static void addViolation( ModelProblemCollector problems, Severity severity, String message )
{
problems.add( severity, message, null );
Modified: maven/maven-3/trunk/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java?rev=883537&r1=883536&r2=883537&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java (original)
+++ maven/maven-3/trunk/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java Mon Nov 23 23:09:20 2009
@@ -376,9 +376,11 @@
{
SimpleProblemCollector result = validate( "bad-plugin-version.xml" );
- assertViolations( result, 0, 1, 0 );
+ assertViolations( result, 0, 3, 0 );
assertTrue( result.getErrors().get( 0 ).contains( "test:mip" ) );
+ assertTrue( result.getErrors().get( 1 ).contains( "test:rmv" ) );
+ assertTrue( result.getErrors().get( 2 ).contains( "test:lmv" ) );
}
public void testDistributionManagementStatus()
Modified: maven/maven-3/trunk/maven-model-builder/src/test/resources/poms/validation/bad-plugin-version.xml
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-model-builder/src/test/resources/poms/validation/bad-plugin-version.xml?rev=883537&r1=883536&r2=883537&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-model-builder/src/test/resources/poms/validation/bad-plugin-version.xml (original)
+++ maven/maven-3/trunk/maven-model-builder/src/test/resources/poms/validation/bad-plugin-version.xml Mon Nov 23 23:09:20 2009
@@ -27,9 +27,24 @@
<plugins>
<plugin>
<groupId>test</groupId>
+ <artifactId>good</artifactId>
+ <version>1.0</version>
+ </plugin>
+ <plugin>
+ <groupId>test</groupId>
<artifactId>mip</artifactId>
<version>${missing.property}</version>
</plugin>
+ <plugin>
+ <groupId>test</groupId>
+ <artifactId>rmv</artifactId>
+ <version>RELEASE</version>
+ </plugin>
+ <plugin>
+ <groupId>test</groupId>
+ <artifactId>lmv</artifactId>
+ <version>LATEST</version>
+ </plugin>
</plugins>
</build>
</project>