J’essaie de sortir l’horodatage après chaque étape (cible). Lorsque j’excute le fichier de compilation ci-dessous par ant testtime, j’obtiens le résultat:
Buildfile: build.xml testdepend1: [echo] ****** Start: test depend 1 ****** [echo] ****** Finish: test depend 1****** [echo] 02/12/2009 11:58:07 AM testdepend2: [echo] ****** Start: test depend 2 ****** [echo] ****** Finish: test depend 2****** [echo] 02/12/2009 11:58:07 AM testdepend3: [echo] ****** Start: test depend 3 ****** [echo] ****** Finish: test depend 3****** [echo] 02/12/2009 11:58:07 AM
Execter le fichier de construction ci-dessous:
${TODAY_UK} ${TODAY_UK} ${TODAY_UK}
Pourquoi ai-je toujours le même horodatage?
Une fois évalué, TODAY_UK ne sera plus calculé.
Peut-être que vous devriez append au début de votre tâche quelque chose comme:
Utilisation de la tâche principale
Vous avez ce script à tester pour configurer, puis afficher un horodatage:
DSTAMP: ${DSTAMP} TSTAMP: ${TSTAMP} TODAY: ${TODAY} TODAY_UK: ${TODAY_UK} start.DSTAMP: ${start.DSTAMP} start.TSTAMP: ${start.TSTAMP} start.TODAY: ${start.TODAY}
Vous obtenez toujours le même horodatage car la propriété contenant cette valeur est évaluée une seule fois . La proposition d’append un ” au début de la tâche n’aidera pas non plus car Ant ne mettra pas à jour la valeur de la propriété.
La solution que j’ai trouvée consiste à définir votre propre tâche Ant:
public class StampedEcho extends Echo { private Ssortingng message; private Ssortingng pattern = "d-MMMM-yyyy"; private Locale locale = Locale.US; public void setPattern(Ssortingng pattern) { this.pattern = pattern; } public void setLocale(Ssortingng locale) { this.locale = new Locale(locale); } @Override public void setMessage(Ssortingng message) { this.message = message; } @Override public void execute() throws BuildException { Ssortingng date = new SimpleDateFormat(this.pattern, this.locale).format(new Date()); super.setMessage(date + (this.message == null ? "" : " " + this.message)); super.execute(); } }
Ensuite, définissez un fichier Antlib (par exemple, message-antlib.xml
) pour instancier et invoquer la classe:
modifier votre build.xml
en conséquence
pour obtenir la sortie suivante:
[tsecho] 21:46:20 [tsecho] 21:46:20 start [tsecho] 21.46 end
pourquoi n’utilisez-vous pas l’anti-fourmi ant auditeur vérifier cela
http://neopatel.blogspot.com/2009/09/timestamp-your-ant-build.html