Je veux permettre aux utilisateurs de fournir une classe groovy avec une propriété qui est une fermeture fichier-sélecteur que je passe à la tâche « copie » de AntBuilder:test pour la fermeture groovy vide?
class Foo {
def ANT = { fileset(dir:'/tmp/tmp1') }
}
dans mon code, je prends la propriété ANT comme « Fant » et passer à Ant:
ant.copy(todir:'/tmp/tmp2', fAnt)
Cela fonctionne - mais, si l'utilisateur passe dans une fermeture vide (def ANT = {}) ou avec un sélecteur qui ne sélectionne pas quoi que ce soit (peut-être le jeu de fichiers dir n'existe pas) alors ça explose. J'ai essayé d'entourer la copie de fourmi avec un try-catch pour attraper le InvokerInvocationException, mais d'une manière ou d'une autre l'exception arrive de toute façon ... pendant que je dépiste cela, y a-t-il un moyen de relire le contenu d'une Closure groovy comme une chaîne? pour tester si c'est vide?