By using following block of code in build.xml
file
<propertyfile file="default.properties" comment="Default properties">
<entry key="source.dir" value="1" />
<entry key="dir.publish" value="1" />
<entry key="dir.publish.html" value="1" />
</propertyfile>
I am able to generate default.properties
file with following file contents
source.dir=1
dir.publish=1
dir.publish.html=1
I want to know how can I add my comments in the generated file? E.g. the generated properties should have the following content:
# Default Configuration
source.dir=1
dir.publish=1
# Source Configuration
dir.publish.html=1
How can I do it dynamically using Ant's build.xml
?
Writing the properties file with multiple comments is not supported. Why ?
PropertyFile.java
The ant property file task is backed by a
java.util.Properties
class which stores comments using the store() method. Only one comment is taken from the task and that is passed on to theProperties
class to save into the file.The way to get around this is to write your own task that is backed by commons properties instead of
java.util.Properties
. The commons properties file is backed by a property layout which allows settings comments for individual keys in the properties file. Save the properties file with the save() method and modify the new task to accept multiple comments through<comment>
elements.The property file task is for editing properties files. It contains all sorts of nice features that allow you to modify entries. For example:
I've incremented my
build_number
by one. I have no idea what the value was, but it's now one greater than what it was before.<echo>
task to build a property file instead of<propertyfile>
. You can easily layout the content and then use<propertyfile>
to edit that content later on.Example:
Example:
According to the documentation of the
PropertyFile
task, you can append the generated properties to an existing file. You could have a properties file with just the comment line, and have the Ant task append the generated properties.