Les bonnes pratiques de numérotation de version sémantique sont disponibles à l’adresse https://semver.org/.
Les bibliothèques courantes doivent être factorisées dans des lots distincts. Cela leur permet d’être réutilisées dans vos lots. Lorsque vous encapsulez un fichier JAR dans un lot OSGi, prenez soin de vérifier dans les sources en ligne si quelqu’un a effectué cette opération auparavant. Voici certains des principaux lieux dans lesquels vous pouvez trouver les wrappers de lots existants : Apache Felix, Apache Sling, Apache Geronimo, Apache ServiceMix, Eclipse Bundle Recipes et le référentiel SpringSource Enterprise Bundle Repository.
Pour les dépendances au moment de la compilation dans les fichiers POM, utilisez toujours la plus ancienne version possible exposant l’API requise. Cela permet davantage de compatibilité ascendante et facilite les correctifs de rétroportage des versions plus anciennes.
Dès qu’un module est exporté, nous créons une API dont les autres peuvent dépendre. Veillez à exporter le moins possible et à vérifier que ce qui est exporté est une API. Il est beaucoup plus facile de rendre publique une méthode/classe privée que de rendre privé un élément précédemment exporté.
Les mises en œuvre doivent toujours être placées dans un module impl distinct. Par défaut, maven-bundle-plugin exporte tout ce qui se trouve dans le projet et dont le nom ne contient pas impl.
Cela permet aux consommateurs de votre API d’évoluer avec vous. Lorsque vous procédez de la sorte, respectez toujours les bonnes pratiques de contrôle de version sémantique. Cela permet aux consommateurs de votre API de déterminer les types de modifications à attendre dans une nouvelle version.
En spécifiant des informations de métatype pertinentes, vos services et composants sont plus faciles à comprendre dans la console Felix. La liste des attributs et annotations SCR peut être trouvée à l’adresse : https://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html.