ant - puerto - psexec windows xp
Copie una lista de argumentos Ant en una propiedad (2)
En Ant hay alguna forma de hacer algo como esto:
<arguments id="arg-list">
<arg value="arg1" />
<arg value="arg2" />
</arguments>
<property name="prop1" refid="arg-list" />
Intento escribir una macro para psexec y estoy buscando una buena forma de pasarla en la lista de argumentos.
Sé que puedes hacer algo similar con classpaths ...
¡Gracias!
¿Sabía usted sobre Ant-Contrib Tasks For y ForEach: http://ant-contrib.sourceforge.net/tasks/tasks/for.html
También hay tarea de búsqueda: <find ... delimiter=""/> ... </find>
. Esto te permite crear una lista.
No sé de una respuesta a su pregunta específica. La documentación es clara que refid ''solo produce resultados razonables para referencias a estructuras o propiedades similares a PATH''.
Sin un poco más de información sobre lo que estás tratando de hacer, es difícil comentar. A riesgo de cambiar su diseño, en lugar de responder a su pregunta, sugiero:
1) Puede pasar la lista de argumentos a exec como una línea:
<macrodef name="example">
<attribute name="args"/>
<sequential>
<exec executable="example.exe">
<arg value="somearg" />
<arg line="@{args}"/>
</exec>
</sequential>
</macrodef>
<example args="somearg arg1 arg2"/>
Que ejecutará example.exe:
example.exe arg1 arg2
2) Paso argumentos a macros que llaman a aplicaciones externas como esta:
<macrodef name="example">
<element name="params" optional="yes" implicit="yes"/>
<sequential>
<exec taskname="eg" executable="example.exe">
<arg value="somearg" />
<params />
</exec>
</sequential>
</macrodef>
<example>
<arg value="arg1"/>
<arg value="arg2"/>
</example>
Esto ejecutará example.exe:
example.exe somearg arg1 arg2
Espero no haberle enseñado a mi abuela a chupar huevos aquí.