You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2022/01/22 19:41:17 UTC

[maven-doxia-sitetools] 01/01: [DOXIASITETOOLS-156] Fail if deprecated ${reports}, ${parentProject} or ${modules} is found

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch DOXIASITETOOLS-156
in repository https://gitbox.apache.org/repos/asf/maven-doxia-sitetools.git

commit 44f051e233d061ead2b66f93da7db3fdb7b060bb
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat Jan 22 20:40:58 2022 +0100

    [DOXIASITETOOLS-156] Fail if deprecated ${reports}, ${parentProject} or ${modules} is found
    
    This closes #24
---
 .../apache/maven/doxia/tools/DefaultSiteTool.java  | 41 ++--------------------
 .../unit/interpolated-site/src/site/site.xml       |  2 +-
 .../unit/site-tool-test/src/site/site.xml          |  2 +-
 3 files changed, 4 insertions(+), 41 deletions(-)

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 89772d2..0e7dfe2 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
@@ -401,43 +401,6 @@ public class DefaultSiteTool
         }
     }
 
-    /**
-     * Read site descriptor content from Reader, adding support for deprecated <code>${reports}</code>,
-     * <code>${parentProject}</code> and <code>${modules}</code> tags.
-     *
-     * @param reader
-     * @return the input content interpolated with deprecated tags
-     * @throws IOException
-     */
-    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\"/>" );
-        props.put( "modules", "<menu ref=\"modules\"/>" );
-        props.put( "parentProject", "<menu ref=\"parent\"/>" );
-
-        // warn if interpolation required
-        for ( Object prop : props.keySet() )
-        {
-            if ( siteDescriptorContent.contains( "$" + prop ) )
-            {
-                LOGGER.warn( "Site descriptor for " + projectId + " contains $" + prop
-                    + ": should be replaced with " + props.getProperty( (String) prop ) );
-            }
-            if ( siteDescriptorContent.contains( "${" + prop + "}" ) )
-            {
-                LOGGER.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,
@@ -469,7 +432,7 @@ public class DefaultSiteTool
             {
                 // 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, "default-site.xml" );
+                siteDescriptorContent = IOUtil.toString( reader );
             }
             catch ( IOException e )
             {
@@ -1176,7 +1139,7 @@ public class DefaultSiteTool
 
                 siteDescriptorReader = ReaderFactory.newXmlReader( siteDescriptor );
 
-                String siteDescriptorContent = readSiteDescriptor( siteDescriptorReader, project.getId() );
+                String siteDescriptorContent = IOUtil.toString( siteDescriptorReader );
 
                 // interpolate ${this.*} = early interpolation
                 siteDescriptorContent = getInterpolatedSiteDescriptorContent( project, siteDescriptorContent, true );
diff --git a/doxia-integration-tools/src/test/resources/unit/interpolated-site/src/site/site.xml b/doxia-integration-tools/src/test/resources/unit/interpolated-site/src/site/site.xml
index 58a2776..db8aac9 100644
--- a/doxia-integration-tools/src/test/resources/unit/interpolated-site/src/site/site.xml
+++ b/doxia-integration-tools/src/test/resources/unit/interpolated-site/src/site/site.xml
@@ -38,6 +38,6 @@ under the License.
       <item name="Test ${project.name}" href="/test.html"/>
       <item name="Test ${JAVA_HOME}" href="/test.html"/>
     </menu>
-    ${reports}
+    <menu ref="reports"/>
   </body>
 </project>
diff --git a/doxia-integration-tools/src/test/resources/unit/site-tool-test/src/site/site.xml b/doxia-integration-tools/src/test/resources/unit/site-tool-test/src/site/site.xml
index 41db45e..aaa2bae 100644
--- a/doxia-integration-tools/src/test/resources/unit/site-tool-test/src/site/site.xml
+++ b/doxia-integration-tools/src/test/resources/unit/site-tool-test/src/site/site.xml
@@ -40,6 +40,6 @@ under the License.
     <menu name="Overview">
       <item name="Test" href="/test.html"/>
     </menu>
-    ${reports}
+    <menu ref="reports"/>
   </body>
 </project>