Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Site renderer
-
Labels:None
-
Number of attachments :
Description
The Doxia default site renderer uses Apache Velocity to render its pages. Every time a page is rendered, Doxia tries to define Velocity Macros but the Plexus Velocity component sets the replacement of Velocity Macro to false (the default).
In Velocity Version 1.4, these error messages are silently discarded. In newer Versions (1.5 beta 2 and beyond), these messages are logged out and appear to be errors.
Issue Links
| This issue relates to: | ||||
| MSITE-170 | [ERROR] VM #displayTree: error : too few arguments to macro |
|
|
|
The default for logging messages from the VelociMacros will be changing in Velocity 1.5
Either you must set "velocimacro.messages.on = false" in the defaults of the Plexus Velocity component.
It would be much better if the Doxia Renderer splits the VelociMacros into its own macro library and a skin template. Then you would declare the macro file to be a macro library.
However, this again would need changes to the plexus velocity component (which is a bad idea anyway as it is as a singleton very inflexible and the usage of Velocity in different parts of Maven and Doxia interferes with each other (e.g. in the availability of macros). Either Plexus should declare a Factory that returns VelocityEngine instances that can be configured by e.g. Doxia) or you should not use any Plexus component here but build the Velocity engine yourself.