Package ise.antelope.tasks
Class Variable
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
ise.antelope.tasks.Variable
- All Implemented Interfaces:
Cloneable
public class Variable
extends org.apache.tools.ant.Task
Similar to Property, but this property is mutable. In fact, much of the code
in this class is copy and paste from Property. In general, the standard Ant
property should be used, but occasionally it is useful to use a mutable
property.
This used to be a nice little task that took advantage of what is probably a flaw in the Ant Project API -- setting a "user" property programatically causes the project to overwrite a previously set property. Now this task has become more violent and employs a technique known as "object rape" to directly access the Project's private property hashtable.
Developed for use with Antelope, migrated to ant-contrib Oct 2003.
- Since:
- Ant 1.5
- Version:
- $Revision: 116 $
-
Field Summary
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addProperties
(Properties props) iterate through a set of properties, resolve them, then assign themvoid
execute()
Execute this task.void
Set the name of a file to read properties from.void
Set the name of the property.void
setUnset
(boolean b) Determines whether the property should be removed from the project.void
Set the value of the property.Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
-
Constructor Details
-
Variable
public Variable()
-
-
Method Details
-
setName
Set the name of the property. Required unless 'file' is used.- Parameters:
name
- the name of the property.
-
setValue
Set the value of the property. Optional, defaults to "".- Parameters:
value
- the value of the property.
-
setFile
Set the name of a file to read properties from. Optional.- Parameters:
file
- the file to read properties from.
-
setUnset
public void setUnset(boolean b) Determines whether the property should be removed from the project. Default is false. Once removed, conditions that check for property existence will find this property does not exist.- Parameters:
b
- set to true to remove the property from the project.
-
execute
public void execute() throws org.apache.tools.ant.BuildExceptionExecute this task.- Overrides:
execute
in classorg.apache.tools.ant.Task
- Throws:
org.apache.tools.ant.BuildException
- Description of the Exception
-
addProperties
iterate through a set of properties, resolve them, then assign them- Parameters:
props
- The feature to be added to the Properties attribute
-