From: Davide Mora [mailto:[EMAIL PROTECTED]]
> if i'm not wrong, in version 1.0 the #parse() was not
> working, there are changes about this? Now i'm using a
> "common library" of macros, but start to became too
> messy...
Well, I might have phrased it a different way :)
#parse() works just fine - what you can't do is #parse() in a set of
Velocimacros because of 'late binding' issues.
Unless you need to have 'local' macro namespaces (i.e. the #foo() VM in
template1.vm is *different* that #foo() in template2.vm), you can break up
your VM library into a set of smaller libraries, and they will be loaded at
startup.
That may help the management / maintenance issues you might be referring to.
To do this, simply use 1.0.1 or later (try 1.1!), and set the property
velocimacro.library = vm_lib1.vm, vm_lib2.vm, vm_lib3.vm
and Velocity will load all three files if it can find them via a resource
loader (i.e. like any other template, it must be in the template 'path'. I
say 'path' as the definition if blurry when using classpathResourceLoader,
DataSourceResourceLoader, etc...)
geir