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/07 15:13:30 UTC
svn commit: r801987 -
/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
Author: bentmann
Date: Fri Aug 7 13:13:30 2009
New Revision: 801987
URL: http://svn.apache.org/viewvc?rev=801987&view=rev
Log:
o Extended validation
Modified:
maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
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=801987&r1=801986&r2=801987&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 Fri Aug 7 13:13:30 2009
@@ -132,6 +132,8 @@
validateStringNotEmpty( "version", problems, false, model.getVersion() );
+ boolean warnOnBadBoolean = request.getValidationLevel() < ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_0;
+
for ( Dependency d : model.getDependencies() )
{
validateId( "dependencies.dependency.artifactId", problems, d.getArtifactId() );
@@ -165,6 +167,12 @@
addViolation( problems, false,
"For dependency " + d + ": only dependency with system scope can specify systemPath." );
}
+
+ if ( request.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 )
+ {
+ validateBoolean( "dependencies.dependency.optional", problems, warnOnBadBoolean, d.getOptional(),
+ d.getManagementKey() );
+ }
}
DependencyManagement mgmt = model.getDependencyManagement();
@@ -201,6 +209,12 @@
addViolation( problems, false,
"For managed dependency " + d + ": only dependency with system scope can specify systemPath." );
}
+
+ if ( request.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 )
+ {
+ validateBoolean( "dependencyManagement.dependencies.dependency.optional", problems,
+ warnOnBadBoolean, d.getOptional(), d.getManagementKey() );
+ }
}
}
@@ -220,11 +234,17 @@
validateStringNotEmpty( "build.plugins.plugin.version", problems, warnOnMissingPluginVersion,
p.getVersion(), p.getKey() );
+
+ validateBoolean( "build.plugins.plugin.inherited", problems, warnOnBadBoolean, p.getInherited(),
+ p.getKey() );
+
+ validateBoolean( "build.plugins.plugin.extensions", problems, warnOnBadBoolean, p.getExtensions(),
+ p.getKey() );
}
- validateResources( problems, build.getResources(), "build.resources.resource" );
+ validateResources( problems, build.getResources(), "build.resources.resource", request );
- validateResources( problems, build.getTestResources(), "build.testResources.testResource" );
+ validateResources( problems, build.getTestResources(), "build.testResources.testResource", request );
}
Reporting reporting = model.getReporting();
@@ -322,11 +342,16 @@
}
}
- private void validateResources( ModelProblemCollector problems, List<Resource> resources, String prefix )
+ private void validateResources( ModelProblemCollector problems, List<Resource> resources, String prefix, ModelBuildingRequest request )
{
+ boolean warnOnBadBoolean = request.getValidationLevel() < ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_0;
+
for ( Resource resource : resources )
{
validateStringNotEmpty( prefix + ".directory", problems, false, resource.getDirectory() );
+
+ validateBoolean( prefix + ".filtering", problems, warnOnBadBoolean, resource.getFiltering(),
+ resource.getDirectory() );
}
}
@@ -388,11 +413,11 @@
if ( sourceHint != null )
{
- addViolation( problems, false, "'" + fieldName + "' is missing for " + sourceHint );
+ addViolation( problems, warning, "'" + fieldName + "' is missing for " + sourceHint );
}
else
{
- addViolation( problems, false, "'" + fieldName + "' is missing." );
+ addViolation( problems, warning, "'" + fieldName + "' is missing." );
}
return false;
@@ -470,6 +495,31 @@
return false;
}
+ private boolean validateBoolean( String fieldName, ModelProblemCollector problems, boolean warning, String string,
+ String sourceHint )
+ {
+ if ( string == null || string.length() <= 0 )
+ {
+ return true;
+ }
+
+ if ( "true".equalsIgnoreCase( string ) || "false".equalsIgnoreCase( string ) )
+ {
+ return true;
+ }
+
+ if ( sourceHint != null )
+ {
+ addViolation( problems, warning, "'" + fieldName + "' must be 'true' or 'false' for " + sourceHint );
+ }
+ else
+ {
+ addViolation( problems, warning, "'" + fieldName + "' must be 'true' or 'false'." );
+ }
+
+ return false;
+ }
+
private void addViolation( ModelProblemCollector problems, boolean warning, String message )
{
if ( warning )