Re: [FMPP] Couple newbie questions
Brought to you by:
ddekany
|
From: Erich O. <er...@va...> - 2004-10-08 18:18:23
|
Daniel Dekany wrote:
>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.
>
Yeah understand it's not necessarily a bad thing from an FM point of
view. Just like item 2, it's really only an issue when you are trying to
do generic text proc'ing on top of it ;)
>
>
>
>>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?
>
Sounds good to me :) You have any sample code/expressions that would
illustrate this ?
>
>
>
|