Sortie plusieurs horodatages des ant
La Fourmi buildfile extrait de code ci-dessous est une tentative de simplement la sortie du temps avant et après chaque script sql est exécuté. Je ne peux pas changer la structure de la Fourmi cibles (créer des tables doit appeler à l'exécution de script sql, comme il le fait). Le problème est que les propriétés (en temps et en heure 2) sont immuables (http://ant.apache.org/manual/Tasks/property.html) et donc que le temps de la première opération et non à la seconde. Il n'y a pas moyen de faire ce que j'essaie de faire en Ant?
<target name="create-tables">
<antcall target="run-sql-script">
<param name="db.script" value="teams.sql"/>
</antcall>
<!-- Create the base UDM schema. -->
<antcall target="run-sql-script">
<param name="db.script" value="players.sql"/>
</antcall>
</target>
<target name="run-sql-script">
<tstamp>
<format property="time" pattern="MM/dd/yyyy hh:mm:ss aa"
offset="-5" unit="hour"/>
</tstamp>
<echo>before: ${time}</echo>
<sql
classpath="${classpath}"
driver="${db.driver}"
url="${db.url}"
userid="${db.userid}"
password="${db.password}"
src="${script.dir}/${db.script}"
delimiter="${script.delimiter}"
onerror="abort">
</sql>
<tstamp>
<format property="time2" pattern="MM/dd/yyyy hh:mm:ss aa"
offset="-5" unit="hour"/>
</tstamp>
<echo>after: ${time2}</echo>
</target>
InformationsquelleAutor andersonbd1 | 2009-09-24
Annuler la réponse
Vous devez être connecté pour publier un commentaire.
Utiliser un
<macrodef>
tâche en collaboration avec les<locale>
tâche (présenté dans Ant 1.8):Mise à jour: Vous pouvez utiliser un antcall d'invoquer une tâche, et de créer ou de reprendre une nouvelle timestamp dans le cadre de cet appel.
Cet exemple montre comment passer un message à l'appel d'écho et le timestamp actuel avec un message:
La sortie lors de cette course est:
J'aime la macrodef solution si, en effet, il est plus efficace que la cible de l'un, mais j'utilise un
var unset=true
pour forcer une remise à plat de la variable, comme:Utilisation
var
tâche n'est pas de base de fourmi, mais ant-contrib.La suite de @Niek réponse, nous pouvons construire une macro qui se comporte comme de l'écho, mais avec un timbre de temps
qui va donner de la sortie
J'ai trouvé que si vous l'utilisez comme une macro plutôt qu'une fourmi cible, il fonctionne mieux depuis qu'il ne tourne pas en boucle à travers la fourmi fichier depuis le début à chaque fois que vous faites un
antcall target=
(moins de vérifier si vous avez des dépendances et des ensembles de propriétés).