Utilisation avancée de Ant

La balise uptodate

Syntaxe

CTRL+C pour copier, CTRL+V pour coller
1
<uptodate property="propriété_uptodate"
2
srcfile="fichier_source"
3
targetfile="fichier_cible"/>
<uptodate property="propriété_uptodate"
srcfile="fichier_source"
targetfile="fichier_cible"/>

Définition<uptodate>

La balise uptodate crée une propriété du nom de votre choix (attribut property).

La valeur de cette propriété sera true si le targetfile est plus récent que le srcfile.

MéthodeÉvitez des transformations XSLT inutiles

CTRL+C pour copier, CTRL+V pour coller
1
<?xml version="1.0" encoding="UTF-8"?>
2
<project name="project" default="default">
3
4
	<!-- Est-ce que le fichier target est plus récent que le fichier source? -->
5
	<uptodate property="myUpToDate" srcfile="src.xml" targetfile="target.xml" />
6
	
7
	<!-- ... -->
8
	<target name="xsltransform" unless="myUpToDate">
9
		<xslt style="style.xsl" in="src.xml" out="target.xml" />
10
	</target>
11
	<!-- ... -->
12
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="default">

	<!-- Est-ce que le fichier target est plus récent que le fichier source? -->
	<uptodate property="myUpToDate" srcfile="src.xml" targetfile="target.xml" />
	
	<!-- ... -->
	<target name="xsltransform" unless="myUpToDate">
		<xslt style="style.xsl" in="src.xml" out="target.xml" />
	</target>
	<!-- ... -->
</project>

Ici, la target xsltransform est exécutée uniquement si myUpToDate est false.

Or myUpToDate n'est false que lorsque src.xml est plus récent que target.xml.

RemarqueDifférence entre "if" et "unless"

Lorsque dans une tâche Ant :

  • if est utilisé, la tâche n'est exécutée que si property est true.

  • unless est utilisé, la tâche n'est exécutée que si property est false.

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Florian AREND, Marouane HAMMI 2014-2015 (Contributions : Stéphane Crozat, les étudiants de NF29) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)