net.sf.antcontrib.process
Class Limit
Task
net.sf.antcontrib.process.Limit
- TaskContainer
public class Limit
extends Task
implements TaskContainer
Limits the amount of time that a task or set of tasks can run. This is useful
for tasks that may "hang" or otherwise not complete in a timely fashion. This
task is done when either the maxwait time has expired or all nested tasks are
complete, whichever is first.
Developed for use with Antelope, migrated to ant-contrib Oct 2003.
static class | Limit.TimeUnit - The enumeration of units:
millisecond, second, minute, hour, day, week
Todo: we use timestamps in many places, why not factor this out
|
void | addTask(Task task) - Add a task to wait on.
|
void | execute() - Execute all nested tasks, but stopping execution of nested tasks after
maxwait or when all tasks are done, whichever is first.
|
void | setDays(int value) - Set a day wait value.
|
void | setFailonerror(boolean fail) - Determines whether the build should fail if the time limit has
expired on this task.
|
void | setHours(int value) - Set an hours wait value.
|
void | setMaxWaitUnit(Limit.TimeUnit unit) - Set the max wait time unit, default is minutes.
|
void | setMaxwait(int wait) - How long to wait for all nested tasks to complete, in units.
|
void | setMilliseconds(int value) - Set a millisecond wait value.
|
void | setMinutes(int value) - Set a minute wait value.
|
void | setProperty(String p) - Name the property to set after a timeout.
|
void | setSeconds(int value) - Set a second wait value.
|
void | setUnit(String unit) - Sets the unit for the max wait.
|
void | setValue(String v) - The value for the property to set after a timeout, defaults to true.
|
void | setWeeks(int value) - Set a week wait value.
|
addTask
public void addTask(Task task)
throws BuildException
Add a task to wait on.
execute
public void execute()
throws BuildException
Execute all nested tasks, but stopping execution of nested tasks after
maxwait or when all tasks are done, whichever is first.
setDays
public void setDays(int value)
Set a day wait value.
value
- the number of days to wait.
setFailonerror
public void setFailonerror(boolean fail)
Determines whether the build should fail if the time limit has
expired on this task.
Default is no.
fail
- if true, fail the build if the time limit has been reached.
setHours
public void setHours(int value)
Set an hours wait value.
value
- the number of hours to wait.
setMaxWaitUnit
public void setMaxWaitUnit(Limit.TimeUnit unit)
Set the max wait time unit, default is minutes.
setMaxwait
public void setMaxwait(int wait)
How long to wait for all nested tasks to complete, in units.
Default is to wait 3 minutes.
wait
- time to wait, set to 0 to wait forever.
setMilliseconds
public void setMilliseconds(int value)
Set a millisecond wait value.
value
- the number of milliseconds to wait.
setMinutes
public void setMinutes(int value)
Set a minute wait value.
value
- the number of milliseconds to wait.
setProperty
public void setProperty(String p)
Name the property to set after a timeout.
p
- of property to set if the time limit has been reached.
setSeconds
public void setSeconds(int value)
Set a second wait value.
value
- the number of seconds to wait.
setUnit
public void setUnit(String unit)
Sets the unit for the max wait. Default is minutes.
unit
- valid values are "millisecond", "second", "minute", "hour", "day", and "week".
setValue
public void setValue(String v)
The value for the property to set after a timeout, defaults to true.
v
- for the property to set if the time limit has been reached.
setWeeks
public void setWeeks(int value)
Set a week wait value.
value
- the number of weeks to wait.