[DOXIASITETOOLS-163] warn if deprecated ${reports}, ${parentProject} or ${modules} is found

git-svn-id: https://svn.apache.org/repos/asf/maven/doxia/doxia-sitetools/trunk@1734739 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java b/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java
index f48ccca..8342359 100644
--- a/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java
+++ b/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java
@@ -391,20 +391,35 @@
      * @return the input content interpolated with deprecated tags 
      * @throws IOException
      */
-    private static String readSiteDescriptor( Reader reader )
+    private String readSiteDescriptor( Reader reader, String projectId )
         throws IOException
     {
         String siteDescriptorContent = IOUtil.toString( reader );
-    
+
         // This is to support the deprecated ${reports}, ${parentProject} and ${modules} tags.
         Properties props = new Properties();
         props.put( "reports", "<menu ref=\"reports\"/>\n" );
         props.put( "modules", "<menu ref=\"modules\"/>\n" );
         props.put( "parentProject", "<menu ref=\"parent\"/>" );
-    
+
+        // warn if interpolation required
+        for ( Object prop : props.keySet() )
+        {
+            if ( siteDescriptorContent.contains( "$" + prop ) )
+            {
+                getLogger().warn( "Site descriptor for " + projectId + " contains $" + prop
+                    + ": should be replaced with " + props.getProperty( (String) prop ) );
+            }
+            if ( siteDescriptorContent.contains( "${" + prop + "}" ) )
+            {
+                getLogger().warn( "Site descriptor for " + projectId + " contains ${" + prop
+                    + "}: should be replaced with " + props.getProperty( (String) prop ) );
+            }
+        }
+
         return StringUtils.interpolate( siteDescriptorContent, props );
     }
-
+    
     /** {@inheritDoc} */
     public DecorationModel getDecorationModel( File siteDirectory, Locale locale, MavenProject project,
                                                List<MavenProject> reactorProjects, ArtifactRepository localRepository,
@@ -436,7 +451,7 @@
             {
                 // Note the default is not a super class - it is used when nothing else is found
                 reader = ReaderFactory.newXmlReader( getClass().getResourceAsStream( "/default-site.xml" ) );
-                siteDescriptorContent = readSiteDescriptor( reader );
+                siteDescriptorContent = readSiteDescriptor( reader, "default-site.xml" );
             }
             catch ( IOException e )
             {
@@ -1099,7 +1114,7 @@
 
                 siteDescriptorReader = ReaderFactory.newXmlReader( siteDescriptor );
 
-                String siteDescriptorContent = readSiteDescriptor( siteDescriptorReader );
+                String siteDescriptorContent = readSiteDescriptor( siteDescriptorReader, project.getId() );
 
                 decoration = readDecorationModel( siteDescriptorContent );
                 decoration.setLastModified( siteDescriptor.lastModified() );