En utilisant le bloc de code suivant dans build.xml
fichier
<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>
Je suis capable de générer default.properties
fichier avec le contenu suivant
source.dir=1
dir.publish=1
dir.publish.html=1
Je veux savoir comment puis-je ajouter mes commentaires dans le fichier généré? Par exemple. les propriétés générées doivent avoir le contenu suivant:
# Default Configuration
source.dir=1
dir.publish=1
# Source Configuration
dir.publish.html=1
Comment puis-je le faire dynamiquement en utilisant Ant's build.xml
?
L'écriture du fichier de propriétés avec plusieurs commentaires n'est pas prise en charge. Pourquoi ?
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;
La tâche de fichier de propriétés ant est soutenue par un Java.util.Properties
classe qui stocke les commentaires en utilisant la méthode store () . Un seul commentaire est pris dans la tâche et est transmis à la classe Properties
pour être sauvegardé dans le fichier.
Pour contourner ce problème, écrivez votre propre tâche qui est soutenue par propriétés communes au lieu de Java.util.Properties
. Le fichier de propriétés commun est soutenu par un disposition des propriétés qui permet commentaires de paramètres pour les clés individuelles dans le fichier de propriétés. Enregistrez le fichier de propriétés avec la méthode save () et modifiez la nouvelle tâche pour accepter plusieurs commentaires via <comment>
éléments.
La tâche de fichier de propriétés concerne les fichiers de propriétés édition. Il contient toutes sortes de fonctionnalités Nice qui vous permettent de modifier les entrées. Par exemple:
<propertyfile file="build.properties">
<entry key="build_number"
type="int"
operation="+"
value="1"/>
</propertyfile>
J'ai augmenté mon build_number
par un. Je n'ai aucune idée de la valeur, mais c'est maintenant une valeur supérieure à celle d'avant.
<echo>
tâche pour créer un fichier de propriétés au lieu de <propertyfile>
. Vous pouvez facilement mettre en forme le contenu, puis utiliser <propertyfile>
pour éditer ce contenu plus tard.Exemple:
<echo file="build.properties">
# Default Configuration
source.dir=1
dir.publish=1
# Source Configuration
dir.publish.html=1
</echo>
Exemple:
<propertyfile file="default.properties"
comment="Default Configuration">
<entry key="source.dir" value="1"/>
<entry key="dir.publish" value="1"/>
<propertyfile>
<propertyfile file="source.properties"
comment="Source Configuration">
<entry key="dir.publish.html" value="1"/>
<propertyfile>
<concat destfile="build.properties">
<fileset dir="${basedir}">
<include name="default.properties"/>
<include name="source.properties"/>
</fileset>
</concat>
<delete>
<fileset dir="${basedir}">
<include name="default.properties"/>
<include name="source.properties"/>
</fileset>
</delete>
Selon la documentation de la tâche PropertyFile
, vous pouvez ajouter les propriétés générées à un fichier existant. Vous pouvez avoir un fichier de propriétés avec uniquement la ligne de commentaire et demander à la tâche Ant d'ajouter les propriétés générées.