J'attaque quelques billets sur la programmation de plug-ins sous éclipse. C'est un peu mon travail actuel. Pas de gros trucs, je pense, mais un peu de présentations et de techniques de base pour mettre le pied à l'étrier.
Avant tout, un petit point. Chaque plug-in sous eclipse est indépendant du point de vu de ses ressources (avec un petit iota sur les dépendences). Donc chaque plu in a son propre système de chargement de ressource, son propre classloader. Inutile de demander a charger une classe qui est dans un autre plug-in dont on ne dépend pas, ça ne marche pas.
Il y a donc un bundle par plug-in. Il y a deux façons de les récuperer. Soit on passe par l'activator de son propre plugin pour récupérer le bundle :
Bundle bundle = Activator.getDefault().getBundle();
La seconde solution est lorsque l'on a besoin de récupérer le bundle d'un autre plugin pour utiliser une des classe qu'il propose en service (attendez de voir le chapitre sur les extensions points, ça sera plus clair. Dans ce cas, il faut demander a la plateforme de récupérer le bundle correspondant à ce plugin:
Bundle bundle = Platform.getBundle("org.eclipse.ui");
Une fois qu'on a ce bundle, on peut enfin l'utiliser pour manipuler les ressources d'un plug in voisin. Par exemple un plugin qui fourni des services via un extension point que j'ai publié.