Re: Couple newbie questions
Daniel Dekany <[email protected]> Fri, 8 Oct 2004 18:39:38 +0200
| Newsgroups | gmane.comp.text.fmpp |
|---|---|
| Message-ID | <[email protected]> |
Friday, October 8, 2004, 4:31:16 PM, Erich Oliphant wrote:
> Hi,
> I am using FMPP w/ Ant to create a installer for our application.
> Working pretty good so far but have a couple issues:
>
> 1) We've using the ant XMLProperty to create Ant properties based on XML
> config files. This is great for us, as we have lots of config items and
> grouping them hierarchically is convienient. The problem, of course, is
> that ant properties of the form 'parent.property' are a problem for
> FMPP/Freemarker since ${parent.property} tries to resolve 'parent' then
> 'property' as a child. I read the FM docs regarding the
> ${.vars["parent.property"]} syntax to get around the problem. That
> works but is syntactically clunky. Is there a cleaner way to do this?
No... This is actually a FreeMarker syntax issue, although I don't blame
FreeMarker for this.
> 2) Some of the files that we are configuring are Unix shell scripts. In
> some cases the ${SHELL_VAR} form for shell variables is used, and the
> FMPP processing throws an error when it hits one of these as they are
> not defined. This becomes a tricky problem as it's nice to know from an
> FMPP perspective that I've hit an undefined variable reference, but in
> this case I'd like to maybe log, the undefined var and keep processing.
> Or is there some way to define an alternate variable resolution syntax
> for FMPP/Freemarker? This is a Java web application were building so we
> are going to run into the same problem with Java Expression Language
> variables that use the ${} form as well.
That's an issue with FreeMarker (again), namely that it doesn't allow
the configuration of its syntax. I know this is a real problem for
general purpose file preprocessors, because so many other formats use
${exp}... Currently you can write ${'$'}{SHELL_VAR}, which is obviously
terrible if you have to do it frequently. A workaround would be to
replace all @{...}-s with ${...}, and all ${...} with ${'$'}{...} when
FMPP loads the template files, thus simulate that the FreeMarker
interpolation syntax is @{exp}. That slows things down a little bit,
also possibly distorts the column number in error messages, but I guess
that would be better than nothing. What do you think?
--
Best regards,
Daniel Dekany
____________________________________________________________________
Miert fizetsz az internetert? Korlatlan, ingyenes internet hozzaferes a FreeStarttol.
Probald ki most! http://www.freestart.hu
-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl