2010-07-12 4 views
1

J'utilise Ant pour créer un ensemble de fichiers. Je veux seulement inclure les fichiers dans l'ensemble de fichiers qui ont été modifiés après une date spécifique. (Voir ci-dessous)Utilisation des propriétés de date Ant?

Idéalement, je voudrais que la valeur de date-heure ci-dessous soit une sorte de propriété qui est égale à la date de création du fichier de construction. Par exemple. Je veux seulement les fichiers inclus dans l'ensemble de fichiers qui ont été modifiés après la création du fichier de construction Je ne peux pas utiliser une chaîne statique parce que ce fichier de construction sera extrait de subversion par plusieurs développeurs.

<fileset dir="some-files"> 
    <date datetime="07/12/2010 12:00 AM" when="after"/> 
</fileset> 

Répondre

1

Vous pouvez utiliser le Date svn keyword dans l'un de vos fichiers de propriété, de sorte que votre propriété ressemblerait à ceci:

file.mod.date=$LastChangedDate$ 

une fois que vous avez défini le svn: keywords sur votre fichier de propriétés (voir le svn propset commande), commited vos modifications vérifier le fichier de propriétés entraînera votre propriété à la recherche quelque chose comme:

file.mod.date=$LastChangedDate: 2006-07-22 21:42:37 -0700 (Sat, 22 Jul 2006) $ 

maintenant, vous avez une propriété avec une fourmi date à l'intérieur de celui-ci, il y a a couple of ways pour sous-traiter la propriété afin que vous puissiez utiliser la date brute.

+0

Je me demande si je pourrais utiliser cette technique pour ajouter la date directement dans le fichier de construction? – tinny

+0

@tinny, rien ne vous empêche de le faire ''. Assurez-vous simplement d'ajouter le svn propset approprié sur le fichier sur lequel vous souhaitez que le remplacement du mot-clé svn soit effectué. – krock

1

Désolé, je ne peux pas tester ce au moment, mais il semble que vous pourriez faire quelque chose comme:

<fileset dir="${some-dir}"> 
    <depend targetdir="${basedir}"> 
     <mergemapper to="${ant.file}"/> 
    </depend> 
</fileset> 

Sans test, je ne suis pas sûr de ce que l'interaction exacte entre depend et mergemapper , mais j'espère que vous avez l'idée ...

+0

Juste noté que la question originale a déclaré: "... ne veulent que les fichiers inclus dans l'ensemble de fichiers qui ont été modifiés après la création du fichier de construction ..." Le sélecteur 'depend' utilise le temps de modification, pas de temps de création. – kschneid