seguidores - Ant: copia el mismo conjunto de archivos en varios lugares
que pasa con los hashtags de instagram 2018 (3)
Declare un atributo id en el conjunto de archivos y luego refiérase a él en cada tarea de copia.
Por ejemplo:
<project name="foo">
<fileset id="myFileSet" dir="${src}">
<exclude name=''**/*svn'' />
</fileset>
...
<target name="copy1">
<copy todir="${target}/path/to/target/1">
<fileset refid="myFileSet"/>
</copy>
</target>
<target name="copy2">
<copy todir="${target}/path/to/target/2">
<fileset refid="myFileSet"/>
</copy>
</target>
</project>
Necesito un script Ant que copie una carpeta a varios otros lugares. Como un buen programador obediente, no quiero repetirme. ¿Hay alguna forma de tomar un conjunto de archivos como este?
<copy todir="${target}/path/to/target/1">
<fileset dir="${src}">
<exclude name=''**/*svn'' />
</fileset>
</copy>
¿Y almacenar el conjunto de fileset
en una variable para que pueda ser reutilizado?
Ya se ha actualizado la primera respuesta, pero también se puede usar un asignador para copiar a múltiples destinos.
La respuesta de Rich es probablemente mejor para su problema específico, pero la forma genérica de reutilizar el código en Ant es un <macrodef>
.
<macrodef name="copythings">
<attribute name="todir"/>
<sequential>
<copy todir="@{todir}">
<fileset dir="${src}">
<exclude name=''**/*svn'' />
</fileset>
</copy>
</sequential>
</macrodef>
<copythings todir="/path/to/target1"/>
<copythings todir="/path/to/target2"/>