java android ant build.xml

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.