Si vous ne souhaitez que mettre à jour les fichiers d'un répertoire par rapport à votre arborescence source, vous pouvez utiliser la tâche sync
pour exécuter la tâche . Voici un exemple de base de la documentation:
<sync todir="site">
<fileset dir="generated-site"/>
</sync>
écrase tous les fichiers le site avec fichiers les plus récents de généré site, supprime les fichiers de le site qui ne sont pas présents dans généré -site.
Si vous devez déterminer quelles ressources doivent mettre à jour afin de réaliser une opération plus complexe qu'une synchronisation, vous pouvez utiliser la ant-contriboutofdate
tâche. Par exemple
<outofdate property="compile.needed" outputsourcespath="sources.for.recompile">
<sourcefiles>
<fileset dir="${src}" includes="*.c"/>
</sourcefiles>
<mapper type="glob" dir="${src}" from="*.c" to="${obj}/*.o"/>
</outofdate>
tournerai compile.needed
true si les fichiers objet sont hors jour par rapport à la source, et également définir le chemin sources.for.recompile
une liste des seules sources qui ont besoin de recompiler - vous pouvez alors compiler uniquement pour ces sources.
(L'hypothèse ici est qu'un seul fichier dans la zone de sortie de construction est directement liée à une source.)
fournissant alittle plus d'informations peut vous aider à trouver une solution, donc vous dites si le fichier A changé puis exécuter la tâche? –