Package org.apache.tools.ant
Class Task
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
AbstractCvsTask
,AbstractJarSignerTask
,Ant
,Antlib
,AntlibDefinition
,ANTLR
,AntStructure
,AntVersion
,AugmentReference
,Available
,Basename
,BindTargets
,BorlandGenerateClient
,BuildNumber
,CallTarget
,Classloader
,ClearCase
,CloseResources
,CommandLauncherTask
,Concat
,Continuus
,Copy
,Copyfile
,CopyPath
,CVSPass
,DefaultExcludes
,Deltree
,DiagnosticsTask
,Dirname
,DispatchTask
,Echo
,EchoProperties
,EmailTask
,Exec
,ExecTask
,Exit
,Expand
,Filter
,FTP
,FTPTask
,Funtest
,GenerateKey
,Get
,HostInfo
,ImportTask
,Input
,IPlanetEjbcTask
,JarLibAvailableTask
,JarLibDisplayTask
,JarLibManifestTask
,JarLibResolveTask
,Java
,JavaCC
,Javadoc
,Javah
,JDBCTask
,JDependTask
,JJDoc
,JJTree
,Jmod
,JUnitLauncherTask
,JUnitTask
,KeySubst
,Length
,Link
,LoadProperties
,LoadResource
,Local
,MacroInstance
,MakeUrl
,ManifestClassPath
,ManifestTask
,MatchingTask
,Mkdir
,MSVSS
,Nice
,Pack
,Parallel
,Patch
,PathConvert
,ProjectHelperTask
,Property
,PropertyFile
,PropertyHelperTask
,Pvcs
,Recorder
,Rename
,ReplaceRegExp
,ResourceCount
,Retry
,RExecTask
,Rpm
,Script
,ScriptDefBase
,Sequential
,ServerDeploy
,SetPermissions
,SetProxy
,Sleep
,SOS
,SoundTask
,SplashTask
,SSHBase
,SubAnt
,Sync
,TaskAdapter
,TelnetTask
,TempFile
,Touch
,Truncate
,Tstamp
,UnknownElement
,Unpack
,UpToDate
,WhichResource
,XmlProperty
,XMLResultAggregator
,XMLValidateTask
Base class for all tasks.
Use Project.createTask to create a new task instance rather than
using this class directly for construction.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected Target
Deprecated.since 1.6.x.protected String
Deprecated.since 1.6.x.protected String
Deprecated.since 1.6.x.protected RuntimeConfigurable
Deprecated.since 1.6.x.Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal void
bindToOwner
(Task owner) Bind a task to another; use this when configuring a newly created task to do work on behalf of another.void
execute()
Called by the project to let the task do its work.Returns the container target of this task.Returns the wrapper used for runtime configuration.Returns the name to use in logging messages.Return the type of task.protected RuntimeConfigurable
Return the runtime configurable structure for this task.protected void
handleErrorFlush
(String output) Handles an error line by logging it with the WARN priority.protected void
handleErrorOutput
(String output) Handles an error output by logging it with the WARN priority.protected void
handleFlush
(String output) Handles output by logging it with the INFO priority.protected int
handleInput
(byte[] buffer, int offset, int length) Handle an input request by this task.protected void
handleOutput
(String output) Handles output by logging it with the INFO priority.void
init()
Called by the project to let the task initialize properly.protected final boolean
Has this task been marked invalid?void
Logs a message with the default (INFO) priority.void
Logs a message with the given priority.void
Logs a message with the given priority.void
Logs a message with the given priority.void
Configures this task - if it hasn't been done already.final void
perform()
Performs this task if it's still valid, or gets a replacement version and performs that otherwise.void
Force the task to be reconfigured from its RuntimeConfigurable.void
setOwningTarget
(Target target) Sets the target container of this task.void
Sets the wrapper to be used for runtime configuration.void
setTaskName
(String name) Sets the name to use in logging messages.void
setTaskType
(String type) Sets the name with which the task has been invoked.Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
-
Field Details
-
target
Deprecated.since 1.6.x. You should not be accessing this variable directly. Please use thegetOwningTarget()
method.Target this task belongs to, if any. -
taskName
Deprecated.since 1.6.x. You should not be accessing this variable directly. Please use thegetTaskName()
method.Name of this task to be used for logging purposes. This defaults to the same as the type, but may be overridden by the user. For instance, the name "java" isn't terribly descriptive for a task used within another task - the outer task code can probably provide a better one. -
taskType
Deprecated.since 1.6.x. You should not be accessing this variable directly. Please use thegetTaskType()
method.Type of this task. -
wrapper
Deprecated.since 1.6.x. You should not be accessing this variable directly. Please use thegetWrapper()
method.Wrapper for this object, used to configure it at runtime.
-
-
Constructor Details
-
Task
public Task()
-
-
Method Details
-
setOwningTarget
Sets the target container of this task.- Parameters:
target
- Target in whose scope this task belongs. May benull
, indicating a top-level task.
-
getOwningTarget
Returns the container target of this task.- Returns:
- The target containing this task, or
null
if this task is a top-level task.
-
setTaskName
Sets the name to use in logging messages.- Parameters:
name
- The name to use in logging messages. Should not benull
.
-
getTaskName
Returns the name to use in logging messages.- Returns:
- the name to use in logging messages.
-
setTaskType
Sets the name with which the task has been invoked.- Parameters:
type
- The name the task has been invoked as. Should not benull
.
-
init
Called by the project to let the task initialize properly. The default implementation is a no-op.- Throws:
BuildException
- if something goes wrong with the build
-
execute
Called by the project to let the task do its work. This method may be called more than once, if the task is invoked more than once. For example, if target1 and target2 both depend on target3, then running "ant target1 target2" will run all tasks in target3 twice.- Throws:
BuildException
- if something goes wrong with the build.
-
getRuntimeConfigurableWrapper
Returns the wrapper used for runtime configuration.- Returns:
- the wrapper used for runtime configuration. This method will generate a new wrapper (and cache it) if one isn't set already.
-
setRuntimeConfigurableWrapper
Sets the wrapper to be used for runtime configuration. This method should be used only by the ProjectHelper and Ant internals. It is public to allow helper plugins to operate on tasks, normal tasks should never use it.- Parameters:
wrapper
- The wrapper to be used for runtime configuration. May benull
, in which case the next call to getRuntimeConfigurableWrapper will generate a new wrapper.
-
maybeConfigure
Configures this task - if it hasn't been done already. If the task has been invalidated, it is replaced with an UnknownElement task which uses the new definition in the project.- Throws:
BuildException
- if the task cannot be configured.
-
reconfigure
public void reconfigure()Force the task to be reconfigured from its RuntimeConfigurable. -
handleOutput
Handles output by logging it with the INFO priority.- Parameters:
output
- The output to log. Should not benull
.
-
handleFlush
Handles output by logging it with the INFO priority.- Parameters:
output
- The output to log. Should not benull
.- Since:
- Ant 1.5.2
-
handleInput
Handle an input request by this task.- Parameters:
buffer
- the buffer into which data is to be read.offset
- the offset into the buffer at which data is stored.length
- the amount of data to read.- Returns:
- the number of bytes read.
- Throws:
IOException
- if the data cannot be read.- Since:
- Ant 1.6
-
handleErrorOutput
Handles an error output by logging it with the WARN priority.- Parameters:
output
- The error output to log. Should not benull
.
-
handleErrorFlush
Handles an error line by logging it with the WARN priority.- Parameters:
output
- The error output to log. Should not benull
.- Since:
- Ant 1.5.2
-
log
Logs a message with the default (INFO) priority.- Overrides:
log
in classProjectComponent
- Parameters:
msg
- The message to be logged. Should not benull
.
-
log
Logs a message with the given priority. This delegates the actual logging to the project.- Overrides:
log
in classProjectComponent
- Parameters:
msg
- The message to be logged. Should not benull
.msgLevel
- The message priority at which this message is to be logged.
-
log
Logs a message with the given priority. This delegates the actual logging to the project.- Parameters:
t
- The exception to be logged. Should not benull
.msgLevel
- The message priority at which this message is to be logged.- Since:
- 1.7
-
log
Logs a message with the given priority. This delegates the actual logging to the project.- Parameters:
msg
- The message to be logged. Should not benull
.t
- The exception to be logged. May benull
.msgLevel
- The message priority at which this message is to be logged.- Since:
- 1.7
-
perform
public final void perform()Performs this task if it's still valid, or gets a replacement version and performs that otherwise. Performing a task consists of firing a task started event, configuring the task, executing it, and then firing task finished event. If a runtime exception is thrown, the task finished event is still fired, but with the exception as the cause. -
isInvalid
protected final boolean isInvalid()Has this task been marked invalid?- Returns:
- true if this task is no longer valid. A new task should be configured in this case.
- Since:
- Ant 1.5
-
getTaskType
-
getWrapper
Return the runtime configurable structure for this task.- Returns:
- the runtime structure for this task.
-
bindToOwner
Bind a task to another; use this when configuring a newly created task to do work on behalf of another. Project, OwningTarget, TaskName, Location and Description are all copied Important: this method does not callinit()
. If you are creating a task to delegate work to, callinit()
to initialize it.- Parameters:
owner
- owning target- Since:
- Ant1.7
-