[MNG-7253] Display relocation message defined in model

Move logging to DefaultArtifactDescriptorReader

This closes #543
diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java
index d6cc080..267dc2d 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java
@@ -184,18 +184,6 @@
 
         depRequest.setRoot( node );
 
-        if ( logger.isWarnEnabled() )
-        {
-            for ( DependencyNode child : node.getChildren() )
-            {
-                if ( !child.getRelocations().isEmpty() )
-                {
-                    logger.warn( "The artifact " + child.getRelocations().get( 0 ) + " has been relocated to "
-                        + child.getDependency().getArtifact() );
-                }
-            }
-        }
-
         if ( logger.isDebugEnabled() )
         {
             node.accept( new GraphLogger( project ) );
diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
index eed6f60..af88442 100644
--- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
+++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
@@ -68,6 +68,8 @@
 import org.eclipse.aether.spi.locator.Service;
 import org.eclipse.aether.spi.locator.ServiceLocator;
 import org.eclipse.aether.transfer.ArtifactNotFoundException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * @author Benjamin Bentmann
@@ -77,6 +79,8 @@
 public class DefaultArtifactDescriptorReader
     implements ArtifactDescriptorReader, Service
 {
+    private static final Logger LOGGER = LoggerFactory.getLogger( DefaultArtifactDescriptorReader.class );
+
     private RemoteRepositoryManager remoteRepositoryManager;
 
     private VersionResolver versionResolver;
@@ -319,10 +323,20 @@
             if ( relocation != null )
             {
                 result.addRelocation( a );
-                a =
+                Artifact relocatedArtifact =
                     new RelocatedArtifact( a, relocation.getGroupId(), relocation.getArtifactId(),
                                            relocation.getVersion() );
-                result.setArtifact( a );
+                if ( LOGGER.isWarnEnabled() )
+                {
+                    String message = "The artifact " + a + " has been relocated to " + relocatedArtifact;
+                    if ( relocation.getMessage() != null )
+                    {
+                        message += ": " + relocation.getMessage();
+                    }
+                    LOGGER.warn( message );
+                }
+                result.setArtifact( relocatedArtifact );
+                a = relocatedArtifact;
             }
             else
             {