¿Hay alguna manera de especificar un objetivo de arranque en un fichero de construcción Ant?
-
22-09-2019 - |
Pregunta
En mi fichero de construcción Ant
, estoy usando una propiedad de cifrado, que estoy leyendo de un archivo de texto. Necesito descifrar esto en una especie de objetivo bootstrap durante mi proceso de construcción. ¿Cómo puedo hacer esto?
A modo de ejemplo, he aquí el contenido de los archivos.
miArchivo.txt
ENCRYPTED=encryptedtext
build.xml
<project name="myProject" default="all">
<property file="myFile.txt">
<!--Specify bootstrap target here to perform the decryption task-->
<target name="myTarget">
<!--Use the decrypted property here-->
Me conseguir que una manera de hacer esto es configurar un objetivo para realizar el descifrado y añadirlo como depends
en todos los objetivos necesarios. No quiero hacer eso. Estoy interesado en las alternativas que hacen que el proceso sea lo más limpio posible. Esto también significa que he soluciones ya considerados que van " ¿Por qué no realizar el descifrado en otro lugar y lo leyó a partir de ahí? " y no estoy interesado en ellos.
Gracias.
Solución
En mi opinión, en contra de su objetivo declarado, creo que la manera más limpia para configurar sus requerimientos es para utilizar la estructura depends
que ofrece la hormiga. Fue desarrollado para este propósito.
Si desea asegurarse de que el descifrado se ejecuta cada vez que se ejecuta el proceso de hormiga, y todavía quiere resistir la tentación de utilizar la herramienta depends
, usted tiene la opción de poner el proceso de descifrado en su ant.bat, antes de la llamada a la hormiga adecuada, o envuelva el ant.bat en su propia decryptAndCallAnt.bat.
Otros consejos
Si implementar su propia tarea para realizar el descifrado, que debiera ser capaz de hacer algo como esto:
<decrypt file="myFile.txt" refid="decrypted.refid"/>
<property refid="decrypted.refid"/>
implementar su propia tarea llamada decrypt
, que dice myFile.txt
y define un recurso con el decrypted.refid
ref-id. La tarea property
puede leer las propiedades de cualquier tipo de recurso con el atributo "ref-id". Vas a tener que hacer algo de investigación en el Ant manual de con el fin de averiguar la detalles de cómo definen su propia tarea y cómo definir un recurso que contiene el contenido de archivos cifrados, pero debe ser factible.
Con las nuevas versiones de hormiga (desde 1.6 creo) tareas no necesitan contenida en un objetivo. Si siempre quiere ciertas tareas para ejecutar simplemente no envolverlos en un objetivo.