org.apache.tools.ant.taskdefs.optional
Class PropertyFile
java.lang.Object
|
+--org.apache.tools.ant.Task
|
+--org.apache.tools.ant.taskdefs.optional.PropertyFile
- public class PropertyFile
- extends Task
PropertyFile task uses java.util.Properties to modify integer, String and
Date 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" operation="now" />
<entry key="intSet" type="int" operation="=" value="681"/>
<entry key="intDec" type="int" operation="-"/>
<entry key="NeverDate" type="date" operation="never"/>
<entry key="StringEquals" type="string" value="testValue"/>
<entry key="NowDate" type="date" operation="now"/>
</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
- offset
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.
- offset:
valid for "-" or "+", the offset (default
set to 1) will be added or subtracted from "int" or
"date" type value.
String property types can only use the "=" operation.
Date property types can only use the "never" or "now" operations.
Int property types can only use the "=", "-" or "+" operations.
The message property is used for the property file header, with "\\" being
a newline delimiter charater.
- Author:
- Thomas Christen chr@active.ch, Jeremy Mawson
Inner Class Summary |
static class |
PropertyFile.Entry
Instance of this class represents nested elements of
a task propertyfile. |
Methods inherited from class org.apache.tools.ant.Task |
getDescription, getLocation, getOwningTarget, getProject, getRuntimeConfigurableWrapper, getTaskName, init, log, log, maybeConfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName |
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 it's 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
- Following copied from class:
org.apache.tools.ant.Task
- Throws:
BuildException
- if someting goes wrong with the build
createEntry
public PropertyFile.Entry createEntry()
setFile
public void setFile(java.io.File file)
setComment
public void setComment(java.lang.String hdr)
Copyright ? 2000 Apache Software Foundation. All Rights Reserved.