J'aime le maven-versions-plugin mais parfois j'oublie de le faire fonctionner pendant un moment. Y a-t-il un moyen de faire échouer une construction de maven (et donc d'avoir une construction continue échouée) quand certaines dépendances importantes sont obsolètes?Comment casser une compilation maven lorsque les dépendances sont obsolètes?
Répondre
Je pense que vous abordez ce problème de manière incorrecte. Envoyez-vous par courrier électronique la sortie du plugin maven-versions-si vous le souhaitez, mais n'échouez pas la compilation en raison de changements hors de votre contrôle.
Encore plus, pourquoi voudriez-vous mettre à jour inutilement les dernières versions? J'ai vu beaucoup de problèmes difficiles apparaître en raison de mises à niveau qui ont apporté de légers changements au comportement précédent.
Ceci, en général, est une mauvaise pratique - pour mettre à jour les versions automatiquement. Il n'y a aucune raison pratique d'utiliser la dernière version d'un paquet. Si la bibliothèque que vous utilisez satisfait à vos exigences, vous devriez rester avec cette version pour des raisons de sécurité/stabilité. Et pour toujours.
Je pense que maven-versions-plugin
est un anti-pattern lui-même.
ps. Quand et si vous voulez faire des tests d'intégration de modules développés par différentes équipes/programmeurs, c'est un "test d'intégration". Même dans ce cas, je pense toujours que la mise à jour à la volée est une mauvaise approche. Le projet racine ne doit pas effectuer ce test d'intégration, mais chaque sous-module (ou JAR, dans votre cas) doit être responsable des tests d'intégration de lui-même avec le reste du système. Quand un sous-module augmente sa version, il doit valider si tout est toujours correct, et seulement ensuite doit libérer une nouvelle version dans le dépôt. Et lorsque le sous-module effectue la validation, il doit être dépendant de statiquement numéros de version spécifiés.
Voir les commentaires sur l'autre réponse. –
@Craig J'ai mis à jour ma réponse, j'espère que cela aide – yegor256
Je spécifie tous les numéros de version de façon statique. C'est pourquoi j'ai besoin de mettre en place une deuxième version distincte qui m'avertira quand j'ai besoin de mettre à jour les dépendances à la main, si possible le même jour. –
Par "dépendances importantes", j'entends les jarres développées par d'autres équipes de mon entreprise. Je devrais mettre à niveau dès que de nouvelles versions sont disponibles. S'il y a des problèmes, l'autre équipe devrait savoir rapidement. –
Je ne lis pas un email tous les jours sans différences. Je veux une alerte qui ne se produit que lorsqu'il y a de nouveaux pots. Je ne manquerais pas la construction, je manquerais une construction. Pas de gros problème. –
Avez-vous envisagé d'utiliser des plages de versions? –