Description
Ant permet de traiter des fichiers grâce à des expressions régulières.
Voici un exemple simple permettant de traiter des fichiers LDIF.
Exemple
Par défaut, les fichiers LDIF exportés sont sur 72 caractères. Les lignes coupées sont facilement visibles : elles commencent par un caractère blanc.
Objectif : réunir les lignes coupées en suppriment le caractère blanc en trop.
Problème : les fichiers LDIF, même sous Windows, sont souvent au format Unix. Le programme les mettra au format Windows grâce à la tâche
fixcrlf
.Pour tester, taper la ligne suivante en ligne de commande :
ant -f traiteLdif.xml
à supposer que le fichier d'exemple ci-après se nomme
traiteLdif.xml
.
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="doRR" default="doRR" basedir=".">
<description> linearise un LDIF </description>
<property name="rrLdif.rep.in" value="./in/replaceregexp"/>
<property name="rrLdif.rep.out" value="./out/replaceregexp"/>
<target name="doRR" >
<delete includeemptydirs="true" failonerror="false" dir="${rrLdif.rep.out}"/>
<mkdir dir="${rrLdif.rep.out}"/>
<copy todir="${rrLdif.rep.out}" flatten="false" overwrite="true" verbose="false">
<fileset dir="${rrLdif.rep.in}">
<include name="**/*.ldif" />
</fileset>
</copy>
<fixcrlf srcdir="${rrLdif.rep.out}" includes="**/*.ldif" eol="crlf" />
<replaceregexp match="
" replace="" byline="false" flags="gm">
<fileset dir="${rrLdif.rep.out}" includes="**/*.ldif"/>
</replaceregexp>
</target>
</project>
Bonnes pratiques
- utiliser des propriétés ( des constantes ) pour la réutilisabilité du code.
Bon point
- les tâches
fixcrlf
etreplaceregexp
peuvent empêcher la mise à jour du timestamp des fichiers modifiés.
Aucun commentaire:
Enregistrer un commentaire