2010-05-13 30 views
0

J'utilise Ivy pour résoudre mes dépendances. Nous avons un grand espace de partage où toutes les bibliothèques que nous utilisons vivent et sont récupérées au besoin.lierre résoudre la dépendance dynamique

Très occasionnellement, nous devons ajouter des fichiers supplémentaires à une version de bibliothèque existante. Par exemple, nous avons récemment commencé à utiliser les composants graphiques dans une bibliothèque d'interface utilisateur. Nous n'en avions pas besoin auparavant, j'ai donc pris les DLL pertinentes et les ai copiées dans l'espace de partage avec les DLL d'interface utilisateur existantes. Cependant, ivy en cours d'exécution ne sélectionne pas ces ajouts par défaut, probablement parce qu'ils sont localement mis en cache sur ma machine et ivy ne vérifie la version pour voir si elle a déjà la version x.y.z de la bibliothèque a. Il ne vérifie pas si la version x.y.z de la bibliothèque a a été modifiée dans le référentiel ivy.

Existe-t-il un moyen de demander à Ivy de vérifier dans le référentiel les modifications structurelles d'une bibliothèque plutôt que de simplement vérifier le cache local?

J'ai essayé d'utiliser <ivy:resolve refresh="true"/> mais cela n'a pas semblé faire quoi que ce soit.

Merci.

+0

Normalement, j'ajoute une cible "propre" à mon projet de fourmis. Cela purgerait le cache ivy local en appelant la tâche "ivy: cleancache". Permet de s'assurer que tout est téléchargé correctement à partir du référentiel. –

Répondre

3

Si vous modifiez le contenu d'une dépendance, son numéro de version ne devrait-il pas également changer? Si la dépendance est toujours en flux, peut-être que vous devriez regarder dans snapshots.

+0

En général, je serais d'accord, mais comme il s'agit d'une bibliothèque externe, la version ne change pas vraiment, nous voulons simplement utiliser plus de composants des bibliothèques (plus de DLL). Nous ne voulons pas tout jeter car cela augmentera considérablement la taille de la construction finale. –

+0

Je vois. Ce que nous avons fait dans des situations similaires est de faire des artefacts séparés de chaque partie de la bibliothèque externe. Vous pouvez alors dépendre seulement des parties que vous voulez. – jackrabbit

+0

@MikeQ: le point des artefacts supplémentaires étant que vous pouvez ensuite ajouter des configurations qui incluent seulement certains des artefacts. Votre build dépend alors uniquement de certaines configurations. – jackrabbit