mirror of https://github.com/apache/maven.git
o Validated repositories upfront as these are required for parent resolution
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@780622 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
67cf84f5c9
commit
48eccf5d3b
|
@ -43,6 +43,7 @@ import org.codehaus.plexus.util.StringUtils;
|
|||
public class DefaultModelValidator
|
||||
implements ModelValidator
|
||||
{
|
||||
|
||||
private static final String ID_REGEX = "[A-Za-z0-9_\\-.]+";
|
||||
|
||||
public ModelValidationResult validateRawModel( Model model, boolean lenient )
|
||||
|
@ -65,6 +66,8 @@ public class DefaultModelValidator
|
|||
}
|
||||
}
|
||||
|
||||
validateRepositories( result, model.getRepositories(), "repositories.repository" );
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -184,15 +187,9 @@ public class DefaultModelValidator
|
|||
validateStringNotEmpty( "build.plugins.plugin.version", result, p.getVersion(), p.getKey() );
|
||||
}
|
||||
|
||||
for ( Resource r : build.getResources() )
|
||||
{
|
||||
validateStringNotEmpty( "build.resources.resource.directory", result, r.getDirectory() );
|
||||
}
|
||||
validateResources( result, build.getResources(), "build.resources.resource" );
|
||||
|
||||
for ( Resource r : build.getTestResources() )
|
||||
{
|
||||
validateStringNotEmpty( "build.testResources.testResource.directory", result, r.getDirectory() );
|
||||
}
|
||||
validateResources( result, build.getTestResources(), "build.testResources.testResource" );
|
||||
}
|
||||
|
||||
Reporting reporting = model.getReporting();
|
||||
|
@ -208,10 +205,6 @@ public class DefaultModelValidator
|
|||
}
|
||||
}
|
||||
|
||||
validateRepositories( result, model.getRepositories(), "repositories.repository" );
|
||||
|
||||
// validateRepositories( result, model.getPluginRepositories(), "pluginRepositories.pluginRepository" );
|
||||
|
||||
forcePluginExecutionIdCollision( model, result );
|
||||
}
|
||||
|
||||
|
@ -245,6 +238,14 @@ public class DefaultModelValidator
|
|||
}
|
||||
}
|
||||
|
||||
private void validateResources( ModelValidationResult result, List<Resource> resources, String prefix )
|
||||
{
|
||||
for ( Resource resource : resources )
|
||||
{
|
||||
validateStringNotEmpty( prefix + ".directory", result, resource.getDirectory() );
|
||||
}
|
||||
}
|
||||
|
||||
private void forcePluginExecutionIdCollision( Model model, ModelValidationResult result )
|
||||
{
|
||||
Build build = model.getBuild();
|
||||
|
|
|
@ -48,7 +48,20 @@ public class DefaultModelValidatorTest
|
|||
private ModelValidationResult validate( String pom )
|
||||
throws Exception
|
||||
{
|
||||
return validator.validateEffectiveModel( read( pom ), false );
|
||||
return validate(pom, false, false);
|
||||
}
|
||||
|
||||
private ModelValidationResult validate( String pom, boolean raw, boolean lenient )
|
||||
throws Exception
|
||||
{
|
||||
if ( raw )
|
||||
{
|
||||
return validator.validateRawModel( read( pom ), lenient );
|
||||
}
|
||||
else
|
||||
{
|
||||
return validator.validateEffectiveModel( read( pom ), lenient );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -233,7 +246,7 @@ public class DefaultModelValidatorTest
|
|||
public void testMissingRepositoryId()
|
||||
throws Exception
|
||||
{
|
||||
ModelValidationResult result = validate( "missing-repository-id-pom.xml" );
|
||||
ModelValidationResult result = validate( "missing-repository-id-pom.xml", true, false );
|
||||
|
||||
assertEquals( 2, result.getMessageCount() );
|
||||
|
||||
|
|
Loading…
Reference in New Issue