java - agregar comentario en archivos.properties
ant properties-file (3)
Utilizando el siguiente bloque de código en el archivo build.xml
<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>
Puedo generar el archivo default.properties
con los siguientes contenidos del archivo
source.dir=1
dir.publish=1
dir.publish.html=1
Quiero saber cómo puedo agregar mis comentarios en el archivo generado? Por ejemplo, las propiedades generadas deberían tener el siguiente contenido:
# Default Configuration
source.dir=1
dir.publish=1
# Source Configuration
dir.publish.html=1
¿Cómo puedo hacerlo dinámicamente usando build.xml
de Ant?
De acuerdo con la documentation de la tarea PropertyFile
, puede agregar las propiedades generadas a un archivo existente. Puede tener un archivo de propiedades solo con la línea de comentario y hacer que la tarea Ant agregue las propiedades generadas.
Escribir el archivo de propiedades con múltiples comentarios no es compatible. Por qué ?
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 tarea de archivo de propiedad ant está respaldada por una clase java.util.Properties
que almacena comentarios utilizando el método store() . Solo se toma un comentario de la tarea y se pasa a la clase Properties
para guardar en el archivo.
La forma de evitar esto es escribir su propia tarea respaldada por propiedades comunes en lugar de java.util.Properties
. El archivo de propiedades comunes está respaldado por un diseño de propiedad que permite ajustes de comentarios para claves individuales en el archivo de propiedades. Guarde el archivo de propiedades con el método save() y modifique la nueva tarea para aceptar múltiples comentarios a través de elementos <comment>
.
La tarea del archivo de propiedades es para editar archivos de propiedades. Contiene todo tipo de características agradables que le permiten modificar entradas. Por ejemplo:
<propertyfile file="build.properties">
<entry key="build_number"
type="int"
operation="+"
value="1"/>
</propertyfile>
He incrementado mi build_number
en uno. No tengo idea de cuál era el valor, pero ahora es uno más grande de lo que era antes.
- Use la tarea
<echo>
para compilar un archivo de propiedades en lugar de<propertyfile>
archivo de<propertyfile>
. Puede diseñar fácilmente el contenido y luego usar<propertyfile>
para editar ese contenido más adelante.
Ejemplo:
<echo file="build.properties">
# Default Configuration
source.dir=1
dir.publish=1
# Source Configuration
dir.publish.html=1
</echo>
- Crea archivos de propiedades separados para cada sección. Tiene permitido un encabezado de comentario para cada tipo. Luego, utilícelos para agruparlos en un solo archivo:
Ejemplo:
<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>