Il n'y a vraiment pas de problème d'avoir le pot "plus" dans votre cache. Si votre projet n'a pas besoin du plus vieux pot, Ivy l'ignorera simplement. Le vieux pot prend environ 50 kilo-octets dans votre système. À l'ère des disques Terabyte, cela ne vaut pas le temps et l'effort de libérer l'espace.
Le cache Ivy est juste cela: Un cache. C'est pour ALL de vos projets qui utilisent Ivy. Si un projet plus ancien requiert la version 1.0.4 du fichier journal de consignation, il sera déjà dans le cache Ivy et ne doit pas être téléchargé, donc, comme une bonne mémoire cache, il vous fait gagner du temps et de l'énergie.
Vous pouvez faire un <ivy:cleancache>
mais cela efface vraiment tout votre cache: Tout sera supprimé. Il va se débarrasser de la plus ancienne version 1.0.4 du pot, mais il va aussi se débarrasser de la version 1.1.1 du pot aussi. Bien sûr, Ivy va juste le télécharger la prochaine fois qu'il le demande, mais cela signifie attendre que Ivy télécharge tous vos pots. A propos, c'est un gros problème avec <ivy:cleancache>
: Si vous faites plusieurs builds avec Ivy et que l'on nettoie le cache sur vous, vous finirez par casser les autres builds. Normalement, ce n'est pas un problème avec les utilisateurs individuels, mais cela peut être pour un système d'intégration continue.
Si vous regardez la documentation Ivy, il ne dit qu'un <ivy:cleancache>
est le même que:
<delete dir="${ivy.cache.dir}" />
Vous pouvez l'utiliser comme base pour la suppression des pots plus âgés en utilisant une date selector:
<delete dir="${ivy.cache.dir}">
<date datetime="01/01/2010 12:00 AM" when="before"/>
<include name="*.jar"/>
</delete>
Cependant, cela utilise le modifié date du pot et non la date à laquelle le fichier a été créé. Ignorez votre répertoire cache Ivy et ne vous inquiétez pas à ce sujet.
Si le cache Ivy devient trop volumineux, vous pouvez le supprimer et Ivy va simplement redéfinir les nouveaux jars si nécessaire.
Un problème avec ivy: cleancache est qu'il va et supprime le dossier de cache chaque fois qu'il est appelé. Par conséquent, chaque fois que le cache doit être reconstruit. Quel est le contraire de ce que le cache est requis de faire. La création de cache annule le but de l'avantage de performance qu'il doit offrir. –