1 votes

version de la bibliothèque et version de l'application

Si vous avez un projet qui publie une bibliothèque et une application, comment gérer les numéros de version entre les deux.

Exemple : Votre projet fournit une bibliothèque qui convertit différents formats de fichiers les uns dans les autres. La bibliothèque est publiée pour être incluse dans d'autres applications. Mais vous publiez également une application en ligne de commande, qui utilise cette bibliothèque et implémente une interface pour la fonctionnalité.

Les nouvelles versions de la bibliothèque conduisent à de nouvelles versions de l'application (pour utiliser toutes les nouvelles fonctionnalités), mais les nouvelles versions de l'application peuvent ne pas déclencher de nouvelles versions de la bibliothèque. Maintenant, comment sont gérés les numéros de version ? Complètement indépendant ou les versions de la bibliothèque et de l'application doivent-elles être dépendantes d'une manière ou d'une autre ?

2voto

Vinko Vrsalovic Points 116138

Des numéros de version complètement indépendants, mais l'application en ligne de commande (ou toute autre application dépendante) devrait indiquer la version de la bibliothèque contre laquelle elle a été compilée dans la section d'aide ou dans une bannière.

De cette façon, vous serez en mesure de dire quelle fonctionnalité auront les applications et de réduire la confusion potentielle, surtout si l'on considère que quelqu'un pourrait compiler une version plus récente de l'application avec une ancienne bibliothèque pour une raison quelconque. En outre, vous les découplez et pouvez ajouter des fonctionnalités à la bibliothèque sans dépendre de la sortie d'une nouvelle version de l'application, etc.

Si vous êtes sûr de vouloir que toutes les applications et la bibliothèque fonctionnent toujours de la même manière, vous pouvez utiliser les mêmes chiffres, mais c'est ajouter une contrainte sans raison valable.

1voto

Steve Jessop Points 166970

Je dirais qu'il faut utiliser des numéros de version séparés, et bien sûr documenter la version minimale de la bibliothèque requise pour chaque version de l'application. S'ils ont toujours le même numéro de version, et que vous ne testez jamais l'application qu'avec la version de la bibliothèque portant le même numéro, alors ce ne sont pas vraiment des composants séparés, et il ne faut pas le dire. Publiez le tout en un seul bloc.

Si vous les séparez, vous pouvez toujours leur donner le même numéro de version lorsque c'est approprié - par exemple, après une rupture de compatibilité majeure, vous pouvez publier la version 2.0 des deux simultanément.

L'exemple suivant illustre cette situation : xsltproc (une application en ligne de commande) est publié en tant que partie de libxslt (une bibliothèque), et n'a donc pas son propre numéro de version. Mais libxslt dépend de deux autres bibliothèques, et les numéros de version de celles-ci sont indépendants.

$ xsltproc --version
Using libxml 20628, libxslt 10120 and libexslt 813
xsltproc was compiled against libxml 20628, libxslt 10120 and libexslt 813
libxslt 10120 was compiled against libxml 20628
libexslt 813 was compiled against libxml 20628

0voto

willem Points 4495

Nous avons construit une application qui utilise un framework. Nous conservons des numéros de version distincts pour les deux.

Cela fonctionne bien, d'autant plus que le cadre et l'application sont maintenant suffisamment grands pour être développés par des équipes différentes.

Donc mon avis... gardez les numéros de version séparés.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X