We have a seperate branch for this stuff and I think we can keep it there until its stable - ie get people to test builds off that branch before we merge it back into the head.
btw I'm about half way thru implementing support for custom user defined functions. Its really just an extension of the current task, type scanning via reflection that we do already.
Ian
Scott Hernandez wrote:
Good point about side-effects. This does paint a clear distinction. But then you get tasks like xmlpoke, with no corresponding xmlpeek; this might make the user search around for the expression/function to use, or even assume that this functionality does not exist.
I'm inclined to give this a day or two to stew, commit the changes to the head, if there are no serious issues. We doc, write unit tests, and do a release with expression support in a week or less. Then we can provide this release to the users and get feedback. If people are up in arms about it breaking builds, we can pull it (removed the feature from the head, and put them back in the ee branch). We are still in pre-1.0 releases and changes are acceptable. The sooner we get this issue resolved, the sooner we can get to a 1.0 release.
We can also put a switch in our config section, and a command line option, to turn it off, as you have suggested.
Does that sound like a plan? ( I guess I'm just restating your plan Jaroslaw, but with a little bit of timing :)
----- Original Message ----- From: "Jaroslaw Kowalski" <[EMAIL PROTECTED]>
don'tBy adding expression support we are moving functionality from the tasksabout
(defined by xml) to the expression engine. Now I am starting to think
how to add support for extensions to the expression engine; just like II think that there's a clear distinction: expressions are "pure". They
think about how to add functionality by creating new tasks. This is the
slippery slope that I think we need to be careful about.
have side effects. They don't change state - neither the program memorynor
(andproperty space, filesystem, registry, databases. They only return values based on current state. Tasks actually do things and may change state.
Currently we have tasks that do nothing but set some properties so that
other tasks could decide upon them. I believe this should be the first
probably the last) target.for
But, I agree that this is a slippery matter.
Really I just want to make sure we get the feedback, user comments, and
support we need for adding this feature. Maybe the next step after we
discuss this on the dev list is to get together another summary email
personsthe user list. Then we can make a final decision about if we want to addThis is probably the most difficult task. I don't know how many people are
this new feature to a release.
there on the dev list, but "test1" release was downloaded by only 16
Martin(distinct IP addresses) and we only got opinions from 4 (not counting myself).
I think that in order to get most people to test EE we should:
1. Formally define property names (this will break some builds, but is
necessary anyway)
2. Agree on expression syntax (as I understand it - Scott, Ian, Gert,
and myself agree on Q1/A). Q2 is open, but we're close to option A.to
3. Provide user documentation and unit tests.
4. As soon as we're sure that EE doesn't break builds, we should move it
the main branch in CVS so that more people could test it via daily builds. There should be a command line/config option to turn it off (revert to the old behaviour) in case it causes any trouble. 5. If there's no common demand for expressions or if it breaks too many builds - we'll remove it (it's a single change in one file). Perhaps it could be then moved to a new task, called <eval expression="..." property="..." />
What do you think?
Jarek
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers
--
Ian MacLean, Developer, ActiveState, a division of Sophos
http://www.ActiveState.com
------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers