4 votes

Est-il possible d'utiliser svnant pour mettre à jour le répertoire dans lequel se trouve le fichier build.xml ?

Je maintiens un système de construction qui utilise svnant à partir d'un répertoire pour mettre à jour un grand nombre de projets dans un autre répertoire. Il se déplace ensuite vers l'un de ces projets qui a été mis à jour, et effectue la construction proprement dite.

Est-il sûr de tout faire à partir de ce projet principal ? Le projet principal peut-il utiliser svnant pour se mettre à jour, ou pourrait-il y avoir un problème si svn a besoin de mettre à jour le fichier build.xml que ant utilise actuellement ?

1voto

martin clayton Points 41306

Pour le projet principal auto-actualisé build.xml - vous pourrait ont un problème avec l'exécution de la mise à jour de subversion et de la construction en une seule fois. La nature du problème dépend exactement de la modification apportée au fichier build.xml. Le simple fait de réexécuter la compilation résoudrait probablement le problème, car le build.xml qu'Ant charge alors au démarrage serait à jour.

Si vous devez vraiment mettre à jour de manière fiable le fichier build.xml et effectuer une construction en une seule fois, vous pouvez envisager d'envelopper la partie post-svnant de la construction dans un fichier de type antcall tâche. Lorsque Ant exécute la cible appelée par Antcall, il relit le fichier build.xml, de sorte que toute modification apportée à ce fichier depuis l'appel d'Ant est prise en compte. Antcall commence le traitement à partir de zéro, donc si vous avez des initialisations (éventuellement coûteuses), elles devront être exécutées à nouveau.

0voto

VonC Points 414372

Si cela ne prend pas trop d'espace disque (ou si l'espace disque n'est pas un problème), vous pourriez avoir deux répertoires de travail :

  • un où vous svnant tout ce que vous voulez
  • un où vous lancez les constructions, sauf que tout lancement serait précédé d'un rsynch afin d'importer toute modification du premier répertoire de travail vers le second.

En d'autres termes, vous tirer les modifications avant de lancer toute construction.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X