¿Hay alguna manera de especificar un objetivo de arranque en un fichero de construcción Ant?

StackOverflow https://stackoverflow.com/questions/1982098

  •  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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top