Maven 2.x and 3.x Site Plugin

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

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 2.0-beta-6
  • Fix Version/s: 2.0-beta-6
  • Component/s: None
  • Labels:
    None
  • Number of attachments :
    0

Description

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?

Issue Links

Activity

Hide
Dennis Lundberg added a comment -

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.

Show
Dennis Lundberg added a comment - 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.
Hide
Dennis Lundberg added a comment - - 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

Show
Dennis Lundberg added a comment - - 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
Hide
Brett Porter added a comment -

Does velocity 1.5 help with this?

Show
Brett Porter added a comment - Does velocity 1.5 help with this?
Hide
Vincent Siveton added a comment -

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
Show
Vincent Siveton added a comment - 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
Hide
John Allen added a comment -

Can we not quieten down maven's use of velocity? It makes a right stink of the build output.

Show
John Allen added a comment - Can we not quieten down maven's use of velocity? It makes a right stink of the build output.
Hide
Dennis Lundberg added a comment -

This was solved by DOXIA-128.

Show
Dennis Lundberg added a comment - This was solved by DOXIA-128.

People

Vote (8)
Watch (9)

Dates

  • Created:
    Updated:
    Resolved: