Peter, this sounds fantastic and really think something like this task should be part of the standard distribution (optional tasks). Does the code depends on ANT1.7 features? Or is it usable in 1.6? Jose Alberto
-----Original Message----- From: Peter Reilly [mailto:[EMAIL PROTECTED] Sent: Wed 31/12/2003 11:24 To: Ant Developers List Cc: Subject: Re: ScriptDef revisited You could try playing with beanshelldef http://marc.theaimsgroup.com/?l=ant-dev&m=106577547220771&w=2 Peter Jose Alberto Fernandez wrote: >Hi, > >my current struggle with <script/> and beanshell, made me notice how >inefficient >or script task is (i.e., on every execution the script is recompiled, >and executed). > >Although there is no other way for <script/> it would be nice is ><scriptdef/> >could do something more efficient. Currently <scriptdef/> will recompile >the >src on every invocation of the defined script. > >It would be nice if we could somehow cache the already parsed source, >and >being able to reexecute it multiple times with different element and >attribute >instances on each execution. So, to treat it a little more like compiled >code. > >The way I see it, such a script definition would specify an expression >entrypoint >that can be called over and over. Something like: > > <scripdef name="myscript" language="beanshell" >execute="executeScript()"> > <attribute name="att1"/> > void executeScript() { > print (attributes.get("att1")); > } > </scriptdef> > >The execute attribute indicates the expression to be evaluated >on each <myscript/> instance, and it also indicates that it is safe >to keep the compiled source (i.e., bsf engine object around). > >Notice that it may not be thread-safe to do this since the engine >is statefull. hummmm > >So, what do people think? > >Jose Alberto > > > > > > > >------------------------------------------------------------------------ > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]