You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2016/03/12 22:31:01 UTC
svn commit: r1734739 -
/maven/doxia/doxia-sitetools/trunk/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java
Author: hboutemy
Date: Sat Mar 12 21:31:01 2016
New Revision: 1734739
URL: http://svn.apache.org/viewvc?rev=1734739&view=rev
Log:
[DOXIASITETOOLS-163] warn if deprecated ${reports}, ${parentProject} or ${modules} is found
Modified:
maven/doxia/doxia-sitetools/trunk/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java
Modified: maven/doxia/doxia-sitetools/trunk/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java?rev=1734739&r1=1734738&r2=1734739&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java Sat Mar 12 21:31:01 2016
@@ -391,20 +391,35 @@ public class DefaultSiteTool
* @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 @@ 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 );
+ siteDescriptorContent = readSiteDescriptor( reader, "default-site.xml" );
}
catch ( IOException e )
{
@@ -1099,7 +1114,7 @@ public class DefaultSiteTool
siteDescriptorReader = ReaderFactory.newXmlReader( siteDescriptor );
- String siteDescriptorContent = readSiteDescriptor( siteDescriptorReader );
+ String siteDescriptorContent = readSiteDescriptor( siteDescriptorReader, project.getId() );
decoration = readDecorationModel( siteDescriptorContent );
decoration.setLastModified( siteDescriptor.lastModified() );