java - niños - Ant: Cómo saber si al menos una tarea de copia de diez tareas de copia realmente copió un archivo
cuentos cortos para niños de 3 a 5 años pdf (1)
Aconsejaría echarle un vistazo a la tarea Uptodate . Nunca lo he usado antes, pero supongo que lo que está intentando hacer se implementará en las siguientes líneas:
<target name="libs"/>
<uptodate property="isUpToDate">
<srcfiles dir="${source.dir}" includes="**/*.jar"/>
<globmapper from="${source.dir}/*.jar" to="${destination.dir}/*.jar"/>
</uptodate>
<!-- tasks below will only be executed if
there were libs that needed an update -->
<antcall target="copy_libs"/>
<antcall target="clean_compiled_classes"/>
</target>
<target name="copy_libs" unless="isUpToDate">
<copy file=... />
<copy file=... />
<copy file=... />
</target>
<target name="clean_compiled_classes" unless="isUpToDate">
<delete .../>
</target>
Su otra opción sería implementar su propia tarea ant que hace lo que quiere. Sin embargo, esto requeriría un poco más de trabajo.
Tengo un objetivo que tiene varias tareas de copia; Básicamente copia los archivos jar comunes a nuestro conjunto de aplicaciones desde una ubicación centralizada a la carpeta lib
de la aplicación.
Como se trata de una tarea de copia normal, un archivo jar se copiará solo si es más reciente que el que se encuentra actualmente en la carpeta lib
.
Esta es la parte relevante en build.xml:
<target name="libs"/>
<copy file=... />
<copy file=... />
<copy file=... />
<antcall target="clean_compiled_classes"/>
</target>
<target name="clean_compiled_classes" if="anyOfTheLibsWereCopied">
<delete .../>
</target>
Estoy buscando una manera de establecer la propiedad anyOfTheLibsWereCopied
antes de la llamada ant en el objetivo libs
función de si se ha cambiado realmente alguno de los archivos.
Gracias,
Ittai