Sto cercando di spostare un file (specificato da un modello) per un determinato luogo in un macrodef Ant:Macrodef e "proprietà locali"
<macrodef name="extract">
<attribute name="package"/>
<sequential>
<!-- the path will contain the unique file in extracted regardless of the name -->
<path id="source_refid">
<dirset dir="${dep}/lib/@{package}/extracted/">
<include name="@{package}-*"/>
</dirset>
</path>
<!-- this is not working: properties are immutable -->
<property name="source_name" refid="source_refid"/>
<move
file="${source_name}"
tofile="${dep}/@{package}/"
overwrite="true"
/>
</sequential>
</macrodef>
Ciò funzionerà solo una volta come ${source_name}
è immutabile.
Un'opzione sarebbe quella di utilizzare l'attività variabile ma non ho trovato un modo per assegnare un refid a var
.
C'è un modo per avere qualcosa di simile alla variabile locale in un macrodef? Oppure (problema XY) c'è un modo migliore per risolvere il mio problema?