adding comment in .properties files

ant, java, properties-file

Solution

Writing the properties file with multiple comments is not supported. Why ?

PropertyFile.java

public class PropertyFile extends Task {

    /* ========================================================================
     *
     * Instance variables.
     */

    // Use this to prepend a message to the properties file
    private String              comment;

    private Properties          properties;

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 the `Properties` 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.

Problem

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`?

Original source