Author: michaelo Date: Sat Oct 15 12:58:28 2016 New Revision: 1765053 URL: http://svn.apache.org/viewvc?rev=1765053&view=rev Log: [MSITE-782] Support for custom Velocity tools has disappeared
Instruct Velocity to load possible custom tools from /META-INF/maven/site-tools.xml found in the classpath of the Maven Site Plugin. Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/site/apt/index.apt.vm Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java?rev=1765053&r1=1765052&r2=1765053&view=diff ============================================================================== --- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java (original) +++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java Sat Oct 15 12:58:28 2016 @@ -78,7 +78,9 @@ import org.apache.velocity.Template; import org.apache.velocity.context.Context; import org.apache.velocity.tools.Scope; import org.apache.velocity.tools.ToolManager; +import org.apache.velocity.tools.config.ConfigurationUtils; import org.apache.velocity.tools.config.EasyFactoryConfiguration; +import org.apache.velocity.tools.config.FactoryConfiguration; import org.apache.velocity.tools.generic.AlternatorTool; import org.apache.velocity.tools.generic.ClassTool; import org.apache.velocity.tools.generic.ComparisonDateTool; @@ -150,6 +152,8 @@ public class DefaultSiteRenderer private static final String SKIN_TEMPLATE_LOCATION = "META-INF/maven/site.vm"; + private static final String TOOLS_LOCATION = "META-INF/maven/site-tools.xml"; + // ---------------------------------------------------------------------- // Renderer implementation // ---------------------------------------------------------------------- @@ -497,6 +501,13 @@ public class DefaultSiteRenderer .tool( SortTool.class ) .tool( XmlTool.class ); + FactoryConfiguration customConfig = ConfigurationUtils.findInClasspath( TOOLS_LOCATION ); + + if ( customConfig != null ) + { + config.addConfiguration( customConfig ); + } + ToolManager manager = new ToolManager( false, false ); manager.configure( config ); Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/site/apt/index.apt.vm URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/site/apt/index.apt.vm?rev=1765053&r1=1765052&r2=1765053&view=diff ============================================================================== --- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/site/apt/index.apt.vm (original) +++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/site/apt/index.apt.vm Sat Oct 15 12:58:28 2016 @@ -137,6 +137,9 @@ Doxia Sitetools - Site Renderer | <<<xml>>> | {{{$generic/XmlTool.html}XmlTool}} | For reading/navigating XML files. This uses dom4j under the covers and provides complete XPath support. *------------------+----------------------------------------------------------+-------------------------------+ + If you intend to use custom Velocity tools, add them to the Maven Site Plugin's dependency list and make sure + that they have a bundled configuration file in <<</META-INF/maven/site-tools.xml>>>. + See <<<{{{./xref/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.html\#L470}DefaultSiteRenderer.createToolManagedVelocityContext(...)}}>>> source for more details and the {{{http://velocity.apache.org/tools/devel/summary.html}tools usage summary}}.