Issue Details (XML | Word | Printable)

Key: MSITE-170
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Vincent Siveton
Reporter: fabrizio giustina
Votes: 8
Watchers: 9
Operations

If you were logged in you would be able to see more operations.
Maven 2.x Site Plugin

[ERROR] VM #displayTree: error : too few arguments to macro

Created: 01/Aug/06 05:35 AM   Updated: 01/Sep/07 07:49 PM
Component/s: None
Affects Version/s: 2.0-beta-6
Fix Version/s: 2.0-beta-6

Time Tracking:
Not Specified

Issue Links:
Duplicate
 
Related
 
dependent
 


 Description  « Hide
when running mvn site:site a couple of "too few arguments to macro" always pop up. This is extremely bad in terms of user experience, and we should find a way to remove these logs:

[ERROR] VM #displayTree: error : too few arguments to macro. Wanted 2 got 0
[ERROR] VM #menuItem: error : too few arguments to macro. Wanted 1 got 0

These errors are due to a known velocity bug related to the use of recursive macros:

http://issues.apache.org/bugzilla/show_bug.cgi?id=13623
http://mail-archives.apache.org/mod_mbox/jakarta-velocity-user/200402.mbox/%3COF0D830C11.BA641EAF-ON85256E30.00736DF8@chase.com%3E

Recursive macros are defined in org/apache/maven/doxia/siterenderer/resources/default-site.vm in the doxia site-renderer component.
Logging is handled in the plexus velocity component.

This velocity bug is still open in velocity and no patch will be available anytime soon. In the meanwhile we should try to handle this situation in some way by filtering out messages or removing the use of recursive macros (very hard, they are used to print out the site tree)... or switching to a better templating engine like freemarker.

This issue could probably be addressed in the plexus velocity component or in the doxia site renderer (given that waiting for a bugfixed velocity release is not an option). I'm anyway assigning it to the site plugin since it's where users see these logs coming from and where probably users could open similar issues.

Any suggestion on how to dirty-patch this?



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Dennis Lundberg added a comment - 10/Nov/06 12:52 PM
The issue in Velocity can now be found at this address:
http://issues.apache.org/jira/browse/VELOCITY-71

It seems to have been resolved. I'll try to build the site plugin with a nightly build of Velocity, to see if it solves the issue in the site plugin.


Dennis Lundberg added a comment - 10/Nov/06 04:07 PM - edited
Using the most recent nightly snapshot of Jakarta Velocity I did this:
  • Install the snapshot of Velocity 1.5 into my local repo
  • Update pom.xml for plexus-components/plexus-velocity to use velocity-1.5-dev, update commons-collections to 3.1 and add a dependency on commons-lang-2.1
  • Install plexus-velocity 1.1.4-SNAPSHOT into local repo
  • Update pom.xml of doxia-siterenderer to use plexus-velocity 1.1.4-SNAPSHOT
  • Install doxia-siterenderer-1.0-alpha-9-SNAPSHOT into local repo
  • Install maven-site-plugin-2.0-SNAPSHOT built from source into local repo
  • Run 'mvn site' on any project.

The errors about "too many arguments to macro" no longer appears. There are however quite a lot of warnings, that has not been there before


Brett Porter added a comment - 02/Apr/07 07:43 PM
Does velocity 1.5 help with this?

Vincent Siveton added a comment - 11/Jul/07 04:54 PM
For the warnings described by Dennis, we need to have the Velocity property in the plexus-velocity:
velocimacro.permissions.allow.inline.to.replace.global=true

John Allen added a comment - 19/Jul/07 05:41 AM
Can we not quieten down maven's use of velocity? It makes a right stink of the build output.

Dennis Lundberg added a comment - 01/Sep/07 07:49 PM
This was solved by DOXIA-128.