Filtre un fileset référencées à l'aide d'un refid
J'ai un fileset (qui est retourné par le Maven tâche Ant), et il contient tous les pots j'ai besoin de remballer. Cette fileset est référencé par un refid. Je ne veux inclure nos propres pots, donc je voudrais filtre. Mais Ant filesets ne prennent pas en charge toutes les autres attributs ou des balises imbriquées si un refid est utilisé.
Par exemple, si le fileset est:
org.foo.1.jar
org.foo.2.jar
log4j.jar
et je veux avoir un fileset qui ne contient que des
org.foo*.jar
Comment dois-je procéder?
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser un
restreindre
collection de ressources, que vous pouvez utiliser comme unfileset
dans n'importe quelle tâche qui utilise les collections de ressources pour sélectionner les groupes de fichiers pour fonctionner sur.Par exemple, pour un
fileset
renvoyés à partir de votre Maven tâche référencé par un identifiant appelédependency.fileset
vous pouvez déclarer unerestrict
collection de ressources comme:Remarque vous devrez déclarer le sélecteur de ressources de l'espace de noms qu'il n'est pas partie de la Fourmi intégrée de l'espace de noms:
De là, vous pouvez référencer votre
restrict
collection de ressources d'une manière similaire à la façon dont vous devez le référencer votrefileset
. Par exemple, pour créer des sauvegardes de votre lot de fichiers:Bien sûr, vous pouvez incorporer votre
restrict
collection de ressources si vous le désirez:Ont un coup d'oeil à la documentation de Ant sur les collections de ressources pour de plus amples informations.
Je pense que vous aurez besoin d'écrire une tâche ant pour que. Ils sont assez facile à écrire mais.
Voir http://ant.apache.org/manual/develop.html#writingowntask
Dans votre tâche, vous aurez besoin d'appeler getProject() et demandez-lui de vous donner le fileset, marcher à travers elle, et en créer un nouveau.
Je m 'en utilisant Ant avec Ivy. Avec l'aide de Lierre, il est possible de filtrer les dépendances de la recherche, avec le code suivant dans ivy.xml:
Peut-être un coup d'oeil rapide à la Ivy source 'll vous aider?
Si vous utilisez suffisamment récente version de Ant et le JDK, par exemple, Ant 1.7 et JDK 6, vous pouvez utiliser le en option tâche de script à faire ce que vous voulez. (Les versions antérieures peuvent également fonctionner.) La page d', si vous faites défiler vers le bas pour le texte "L'objectif est de répertorier les filesizes", puis vous verrez un exemple de script qui crée un Fileset.
Ce n'est pas pour les faibles de cœur, et une tâche ant vous écrivez vous-même sera peut-être plus flexible. Mais je voulais souligner l'option.