java - Anulación de destino en Ant
android build.xml (1)
Consulte la sección "Anulación de destino" de la tarea de importación o la sección "Reescritura de destino" de la tarea de inclusión . En resumen, proporcione al build.xml común un nombre de proyecto como "common", y luego use "common.release" en el antcall.
Notaré que anticaída no es lo mismo ya que inicia un nuevo proyecto en tiempo de ejecución, lo que significa que las variables establecidas por el destino no serán visibles más tarde. No tengo Ant disponible en esta máquina para probar, pero puede intentar algo como esto para evitar el anticuado:
<target name="release" depends="common.release, -post-release"/>
¿Existe la posibilidad de anular literalmente un objetivo o emular esto de alguna manera?
Entonces, cuando llame
<target perform-after="release">
<do-something />
</target>
Actuará así:
<target name="release">
<antcall target="release" /> <!-- call previous version, not recursion -->
<do-something />
</target>
Creo que tiene un significado, lo describiré en el ejemplo de Android:
Tenemos plantillas .xml
para cada build.xml
en la carpeta SDK ( {$SDK}/tools/ant/*.xml
), estos archivos están incluidos en cada build.xml
generado para cada proyecto. Hay solo -pre-compile
, -pre-build
y -post-compile
targets que se vacían y son fáciles de sobrescribir. Pero no hay un -post-release
vacío -post-release
, por ejemplo. Google recomienda generar comentarios build.xml
solo para copiar y pegar un destino en mi propio build.xml
y luego ajustarlo. Pero creo que no está bien, porque si Google cambia algo en este objetivo dentro de una plantilla, nunca sabré que estoy usando una versión obsoleta.