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 2010/05/04 11:57:46 UTC

svn commit: r940790 - in /maven/maven-3/trunk: maven-core/src/main/java/org/apache/maven/settings/validation/ maven-model-builder/src/main/java/org/apache/maven/model/validation/ maven-model-builder/src/test/java/org/apache/maven/model/validation/

Author: bentmann
Date: Tue May  4 09:57:46 2010
New Revision: 940790

URL: http://svn.apache.org/viewvc?rev=940790&view=rev
Log:
[MNG-4658] Relax validation of repository ids and only warn upon conflict with "local"

Modified:
    maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/settings/validation/DefaultSettingsValidator.java
    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

Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/settings/validation/DefaultSettingsValidator.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/settings/validation/DefaultSettingsValidator.java?rev=940790&r1=940789&r2=940790&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/settings/validation/DefaultSettingsValidator.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/settings/validation/DefaultSettingsValidator.java Tue May  4 09:57:46 2010
@@ -90,7 +90,9 @@ public class DefaultSettingsValidator
 
                 if ( "local".equals( mirror.getId() ) )
                 {
-                    addError( problems, "'mirrors.mirror.id' must not be 'local', this identifier is reserved." );
+                    addWarn( problems, "'mirrors.mirror.id' must not be 'local'"
+                        + ", this identifier is reserved for the local repository"
+                        + ", using it for other repositories will corrupt your repository metadata." );
                 }
 
                 validateStringNotEmpty( problems, "mirrors.mirror.url", mirror.getUrl(), mirror.getId() );
@@ -119,7 +121,9 @@ public class DefaultSettingsValidator
 
             if ( "local".equals( repository.getId() ) )
             {
-                addError( problems, "'" + prefix + ".id' must not be 'local', this identifier is reserved." );
+                addWarn( problems, "'" + prefix + ".id' must not be 'local'"
+                    + ", this identifier is reserved for the local repository"
+                    + ", using it for other repositories will corrupt your repository metadata." );
             }
 
             validateStringNotEmpty( problems, prefix + ".url", repository.getUrl(), repository.getId() );

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=940790&r1=940789&r2=940790&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 Tue May  4 09:57:46 2010
@@ -500,8 +500,10 @@ public class DefaultModelValidator
         {
             if ( "local".equals( repository.getId() ) )
             {
-                addViolation( problems, Severity.ERROR, prefix + ".id", null,
-                              "must not be 'local', this identifier is reserved." );
+                Severity errOn31 = getSeverity( request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_1 );
+                addViolation( problems, errOn31, prefix + ".id", null, "must not be 'local'"
+                    + ", this identifier is reserved for the local repository"
+                    + ", using it for other repositories will corrupt your repository metadata." );
             }
             if ( "legacy".equals( repository.getLayout() ) )
             {

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=940790&r1=940789&r2=940790&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 Tue May  4 09:57:46 2010
@@ -84,6 +84,11 @@ public class DefaultModelValidatorTest
         return problems;
     }
 
+    private void assertContains( String msg, String substring )
+    {
+        assertTrue( "\"" + substring + "\" was not found in: " + msg, msg.contains( substring ) );
+    }
+
     @Override
     protected void setUp()
         throws Exception
@@ -439,14 +444,13 @@ public class DefaultModelValidatorTest
     {
         SimpleProblemCollector result = validate( "reserved-repository-id.xml" );
 
-        assertViolations( result, 0, 4, 0 );
+        assertViolations( result, 0, 0, 4 );
 
-        assertTrue( result.getErrors().get( 0 ).contains( "'repositories.repository.id' must not be 'local'" ) );
-        assertTrue( result.getErrors().get( 1 ).contains(
-                                                          "'pluginRepositories.pluginRepository.id' must not be 'local'" ) );
-        assertTrue( result.getErrors().get( 2 ).contains( "'distributionManagement.repository.id' must not be 'local'" ) );
-        assertTrue( result.getErrors().get( 3 ).contains(
-                                                          "'distributionManagement.snapshotRepository.id' must not be 'local'" ) );
+        assertContains( result.getWarnings().get( 0 ), "'repositories.repository.id'" + " must not be 'local'" );
+        assertContains( result.getWarnings().get( 1 ), "'pluginRepositories.pluginRepository.id' must not be 'local'" );
+        assertContains( result.getWarnings().get( 2 ), "'distributionManagement.repository.id' must not be 'local'" );
+        assertContains( result.getWarnings().get( 3 ),
+                        "'distributionManagement.snapshotRepository.id' must not be 'local'" );
     }
 
     public void testMissingPluginDependencyGroupId()