ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Benson <gudnabr...@yahoo.com>
Subject Re: <scriptcondition> is broken with Jython in the recent trunk builds
Date Tue, 31 Jul 2007 22:22:21 GMT

--- Alexey Solofnenko <trelony@gmail.com> wrote:

> Old code was executing self.setValue() and the
> current behaviour breaks
> backward compatibility. I have tried old
> ScriptCondition.eval() and it fixed
> the problem. I think we should add "expression"
> attribute to
> AbstractScriptComponent and change it to use it with
> evaluateScript(),
> otherwise nested text will be executed with old
> executeScript() call.

Thanks for running this down, Alexey.  I see where
you're coming from with the "expression" attribute,
though I'm not sure I agree it should live all the way
up in AbstractScriptComponent, because we can't use it
to automatically drive anything.  I am going to add it
to ScriptCondition directly; if we change our minds
later pulling it up shouldn't cause any problems.

-Matt

> 
> - Alexey.
> 
> On 7/31/07, Peter Reilly
> <peter.kitt.reilly@gmail.com> wrote:
> >
> > For BSF there are two methods to run a script:
> >   eval and exec,
> >
> > In ant 1.6.* the only method supported was exec.
> Hence all
> > the <script*> types called methods on self to set
> the return
> > value.
> >
> > For ant 1.7.0, I modified the scripting code to
> allow access to
> > eval and exec, but did not modify any calling
> types to use
> > eval rather than exec. (In fact I did not test the
> eval on anything)
> > I placed it here to allow expression handling from
> property callbacks
> > - something like <if test='${groovy: abc ==
> "abc"}"> ..., but did
> > not follow up.
> >
> > I assume that jython does not like a new line in
> its expression.
> >
> > one can in python do
> > a = 1
> > if a > 0:
> >    b = 2
> > however, one cannot do
> > if #
> >   a > 0:
> >
> >
> > ...
> > So I think that this is a clear case of BC
> problem.
> > It would be nearly impossible to use
> <scriptcondition> with
> > jythton in it's current state.
> >
> >
> > (I cannot test at the moment due to
> (bsf/log4j/commons
> > logging/jython.jar issues)
> >
> > Peter
> >
> >
> >
> > On 7/31/07, Dominique Devienne
> <ddevienne@gmail.com> wrote:
> > > On 7/31/07, Matt Benson <gudnabrsam@yahoo.com>
> wrote:
> > > > <scriptcondition> originally behaved such that
> a
> > > > default value can be declared on the task as
> an
> > > > attribute, and the embedded script can set the
> > > > condition value.  I preserved this behavior,
> but added
> > > > a preference for a return value, if any, from
> the
> > > > script:  again, on the basis that this seemed
> a (more)
> > > > natural behavior to me.  DD, you said "not
> returning a
> > > > value is fine by you"... and that's what
> > > > <scriptcondition> always did, and _should_
> still
> > > > allow... am _I_ missing anything (other than
> whatever
> > > > I've apparently done to break python
> compatibility)?
> > >
> > > Ah, sorry, I meant that "not returning a value
> is meaningless to me".
> > > Sure, if a default value for the condition is
> set as an attribute, why
> > > not (although I don't see why that's necessary
> or useful), but a
> > > scriptcondition is supposed to be a script
> fragment which returns a
> > > boolean value, and I don't see the point of not
> returning a value.
> > > --DD
> > >
> > > PS: The error message could be nicer though ;-)
> > >
> > >
>
---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> dev-unsubscribe@ant.apache.org
> > > For additional commands, e-mail:
> dev-help@ant.apache.org
> > >
> > >
> >
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> dev-unsubscribe@ant.apache.org
> > For additional commands, e-mail:
> dev-help@ant.apache.org
> >
> >
> 
> 
> -- 
> Alexey N. Solofnenko
> Home: http://trelony.cjb.net/
> Pleasant Hill, CA (GMT-8 usually)
> 



       
____________________________________________________________________________________
Choose the right car based on your needs.  Check out Yahoo! Autos new Car Finder tool.
http://autos.yahoo.com/carfinder/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message