tortuga resumen para moraleja literario liebre imprimir hormiga fabulas fabula dela cortas cigarra autor analisis ant target

ant - resumen - ¿Cómo puedo obtener el valor de la hormiga objetivo actual?



la liebre y la tortuga (5)

Creo que no puede, a menos que dedique algún tiempo a codificar sus propias tareas personalizadas ( http://ant.apache.org/manual/tutorial-writing-tasks.html )

Las propiedades integradas que puede visualizar son: basedir, ant.file, ant.version, ant.project.name, ant.java.version

¿Cómo puedo obtener el valor de la hormiga objetivo actual?

¿Existe una variable especial llamada TARGET?


Si ejecuta la hormiga usando el -projecthelp arg:

ant -projecthelp

obtendrá una lista de los objetivos principales especificados en build.xml (u otro archivo de compilación según lo declarado en la línea de comandos).



Mi respuesta, usando antcontrib

<macrodef name="showtargetname"> <attribute name="property"/> <sequential> <!-- make temporary variable --> <propertycopy name="__tempvar__" from="@{property}"/> <!-- Using Javascript functions to convert the string --> <script language="javascript"> <![CDATA[ currValue = [project-name].getThreadTask(java.lang.Thread.currentThread()).getTask().getOwningTarget().getName(); [project-name].setProperty("__tempvar__", currValue); ]]> </script> <!-- copy result --> <var name="@{property}" value="${__tempvar__}"/> <!-- remove temp var --> <var name="__tempvar__" unset="true"/> </sequential> </macrodef>

Uso:

<showtargetname property="mycurrenttarget"/>


En función del problema, debes parchar una hormiga o usar javascript:

<target name="test"> <script language="javascript"> project.setNewProperty("current_target", self.getOwningTarget()); </script> <echo>${current_target}</echo> </target>