PropertyFile (Apache Ant API)
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.
Author: Thomas Christen chr@active.ch
, Jeremy Mawson jem@loftinspace.com.au
, Erik Hatcher ehatcher@apache.org
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 , handleErrorOutput , handleOutput , init , isInvalid , log , log , maybeConfigure , perform , 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 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-2002 Apache Software Foundation. All Rights Reserved.