Hello all,

I'm looking for a way to perform conditional loops in a Nant script.
Essentially, I'd like to repeat a section of script whilst a condition
remains true. Nant doesn't appear to have any tasks or other script
elements that support this behaviour, so I thought I'd try to implement
my own 'while' task, by extending the existing 'if' task, thus:

[TaskName("while")]
public class WhileTask : IfTask {
    protected override void ExecuteTask() {
        while (ConditionsTrue) {   //this is the only line that I've
changed - use while instead of if
            base.ExecuteTask();
        }
    }
}

Unfortunately, this doesn't work, as the condition is only evaluated
once rather that being evaluated each time through the while loop.
Although I've had a good look through the Nant source code, I'm afraid
I'm getting a little lost, as it's all rather new. Does anyone know how
I can cause the expression to be evaluated each time through the while
loop, or have any other suggestions as to how the desired conditional
looping behaviour can be achieved? I looked briefly at the LoopTask (the
foreach task), but it evaluates the elements to be looped over up-front,
rather than during the iteration, so itn't obviously much help.

Many thanks,

Chris

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to