2011-06-02 5 views
27

Existe-t-il une possibilité d'utiliser le référentiel Maven local (~/.m2) comme cache local Ivy (~/.ivy)? Ils ont des dispositions différentes.Utiliser le référentiel maven comme cache ivy local

Parfois j'utilise Maven et parfois j'utilise SBT qui utilise Ivy en dessous, donc j'ai 2 copies de mêmes bibliothèques dans Maven et Ivy. Je voudrais utiliser le même répertoire, économisant ainsi de l'espace disque et du réseau.

Merci.

Répondre

5

Vous pouvez spécifier le cache et la mise en page du cache en utilisant le

<cache/> Tag 

.

Je pense que vous devrez modifier les modèles pour les fichiers artefacts/ivy.xml.
L'étiquette est décrite ici: http://ant.apache.org/ivy/history/2.0.0/settings/caches.html.
Il semble que cela devrait fonctionner, mais je n'ai jamais essayé :).

22

Pour enregistrer réseau, juste configure ivy to use local Maven repository

 <property name="local-maven2-dir" value="${user.home}/.m2/repository/" /> 
     <filesystem name="local-maven-2" m2compatible="true"> 
      <artifact 
       pattern="${local-maven2-dir}/[organisation]/[module]/[revision]/[module]-[revision].[ext]" /> 
      <ivy 
       pattern="${local-maven2-dir}/[organisation]/[module]/[revision]/[module]-[revision].pom" /> 
     </filesystem> 
0

J'ai ajouté le paramètre de cache dans le fichier suivant. Est-ce la bonne méthode? SBT télécharge toujours les fichiers qui sont présents dans le dépôt local Maven (~/.m2/repository).

$ cat ~/.ivy2/ivysettings.xml 
<ivysettings> 
    <properties environment="env" /> 
    <caches defaultCacheDir="${env.WORKSPACE}/.ivy2/cache" /> 

    <property name="local-maven2-dir" value="${user.home}/.m2/repository/" /> 
    <filesystem name="local-maven-2" m2compatible="true" force="false" local="true"> 
     <artifact pattern="${gerald.repo.dir}/[organisation]/[module]/[revision]/[module]-[revision].[ext]"/> 
     <ivy pattern="${gerald.repo.dir}/[organisation]/[module]/[revision]/[module]-[revision].pom"/> 
    </filesystem> 

    <chain name="internal" dual="true"> 
     <resolver ref="local-maven-2"/> 
     <resolver ref="apache-snapshot"/> 
     <resolver ref="maven2"/> 
    </chain> 
</ivysettings> 
Questions connexes