I think that we should go for 2) adding if/unless to all tasks. It should have the same support as the if/unless in targets. I do not see the need for more complicated condition support (at least at the moment).
There would be some snags (what about tasks that do not derive from Task, what about tasks that already provide if and unless attributes), however I feel that the benefits far outweigh the drawbacks. Not that the problem with condition support for datatypes is a far harder problem to solve as the tasks themselves do the processing of the datatypes. Peter On 8/16/06, Conor MacNeill <[EMAIL PROTECTED]> wrote:
I'm pretty much in agreement with Stefan. If if/unless is going to be in some tasks, it should be in all. It reminds me of a principle from one of my old textbooks: Regularity Principle: Regular rules, without exceptions, are easier to learn, use, describe and implement. Once we go down the if/unless path, we have to think about what we should *not* put in the common behaviour of all tasks. Anyway, if we do provide it, I think we should write it once and not in every task. I'd say we need to decide between: 1. Just adding all the logic tasks everyone uses anyway :-) 2. Adding if/unless processing to Task 3. Implementing aspect style interface(s) and providing an if/unless aspect. Thoughts? Conor Stefan Bodewig wrote: > > For a long time I've taken the more extreme "all tasks or no task" > position on this 8-) > > Why would we want to add conditional attributes to echo (or > sequential) and not to copy? > > This leads to "wouldn't a nested condition be more expressive than > if/unless attributes" which then makes me think that adding an if task > would be cleaner. Once I arrive there I start to feel uncomfortable. > > Stefan > > --------------------------------------------------------------------- > 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]