org.apache.tools.ant.taskdefs.optional
Class PropertyFile
java.lang.Object
|
+--org.apache.tools.ant.ProjectComponent
|
+--org.apache.tools.ant.Task
|
+--org.apache.tools.ant.taskdefs.optional.PropertyFile
- public class PropertyFile
- extends Task
Modifies settings in a property file.
The following is an example of its usage:
<target name="setState">
<property
name="header"
value="##Generated file - do not modify!"/>
<propertyfile file="apropfile.properties" comment="${header}">
<entry key="product.version.major" type="int" value="5"/>
<entry key="product.version.minor" type="int" value="0"/>
<entry key="product.build.major" type="int" value="0" />
<entry key="product.build.minor" type="int" operation="+" />
<entry key="product.build.date" type="date" value="now" />
<entry key="intSet" type="int" operation="=" value="681"/>
<entry key="intDec" type="int" operation="-"/>
<entry key="StringEquals" type="string" value="testValue"/>
</propertyfile>
</target>
The <propertyfile> task must have:
Other parameters are:
- comment, key, operation, type and value (the final four being
eliminated shortly)
The <entry> task must have:
Other parameters are:
- operation
- type
- value
- default
- unit
If type is unspecified, it defaults to string
Parameter values:
- operation:
- "=" (set -- default)
- "-" (dec)
- "+" (inc)
- type:
- value:
- holds the default value, if the property
was not found in property file
- "now" In case of type "date", the
value "now" will be replaced by the current
date/time and used even if a valid date was
found in the property file.
String property types can only use the "=" operation.
Int property types can only use the "=", "-" or "+" operations.
The message property is used for the property file header, with "\\" being
a newline delimiter character.
Nested Class Summary |
static class |
PropertyFile.Entry
Instance of this class represents nested elements of
a task propertyfile. |
static class |
PropertyFile.Unit
Borrowed from Tstamp |
Method Summary |
PropertyFile.Entry |
createEntry()
|
void |
execute()
Called by the project to let the task do its work. |
void |
setComment(java.lang.String hdr)
optional header comment for the file |
void |
setFile(java.io.File file)
Location of the property file to be edited; required. |
Methods inherited from class org.apache.tools.ant.Task |
getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PropertyFile
public PropertyFile()
execute
public void execute()
throws BuildException
- Description copied from class:
Task
- 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.
- Overrides:
execute
in class Task
- Throws:
BuildException
- if something goes wrong with the build
createEntry
public PropertyFile.Entry createEntry()
setFile
public void setFile(java.io.File file)
- Location of the property file to be edited; required.
setComment
public void setComment(java.lang.String hdr)
- optional header comment for the file
Copyright © 2000-2004 Apache Software Foundation. All Rights Reserved.