Principe général
Architecture Eclipse

Plugin

Plugin

Le plugin est une entité logicielle normalisée qui respecte la norme OSGi. Il est défini par deux fichiers :

  • META-INF/MANIFEST.mf : fichier descriptif pour OSGi

  • plugin.xml (optionnel) : fichier descriptif pour les extensions Eclipse

Pour simplifier la construction, un fichier est géré par Eclipse :

  • build.properties : indique repertoire src, bin...

Un projet plugin est par défaut un projet java. Il contient donc automatiquement :

  • Un fichier .project

  • Un fichier .classpath

Vue logique du plugin

La vue logique (Package Explorer) représente le plugin selon son organisation :

Vue Logique projet plugin
Vue physique du plugin

La vue physique (Navigator) représente le plugin dans le système de fichier :

Vue physique projet plugin
Plugin vs Bundle OSGi

Le MANIFEST.mf contient les informations de base gérées par OSGi :

Exemple de manifest
Plugin extension de Bundle

Le plugin.xml définit 2 notions supplémentaires : extensions et point d'extension :

  • Point d'extension : définit un modèle d'un concept que le plugin sait gérer (un menu, une vue, un driver...).

  • Extension : définit une instance du modèle décrit par le point d'extension (la vue Navigator, le driver Z, ...)

Gestion des extensions (éditeur de plugin.xml)
Création d'un plugin

On utilise le wizard de création de plugin -> New... Plugin project

Creation d'un projet plugin

Feature

Feature
  • La feature est un ensemble de plugins

  • Elle possède également : une licence, et la propriété d'être installable via un update site.

  • Elle se créé dans un projet de nature 'feature', où l'on regroupe les plugins

  • La feature gère les compatiblités de version des plugins qu'elle contient ou dont elle dépend.

Vue logique du projet Feature

La feature est représentée dans une vue logique du package explorer

Vue logique de la feature
Edition de la feature

L'éditeur de feature permet d'indiquer :

les plugins contenus dans la feature

les données complémentaires : ID, description, texte de licence, etc...

Editeur de feature
Création d'une feature

Wizard de création dédié : New... Feature Project

Création d'une feature

Distribution de l'application

Update Site
  • L'update site permet de publier des features

  • Il s'installe sur un disque local, distant ou sur un serveur web

  • L'url d'accès correspond à l'accès au fichier site.xml

  • Il se créé en utilisant un projet Eclipse de nature update Site

  • On y assemble les features que l'on veut publier (dans un Eclipse déjà installé)

Création d'un update site

Wizard de création dédié : New ... update Site project

Pour le livrer : Wizard d'export sur le file system

Création Update Site
Produit
  • Un produit est un ensemble de features organisées sur une version RCP

  • Le produit se livre pour une plateforme donnée

  • Il se livre sous la forme d'un exécutable RCP (pas d'update site d'installation)

  • Il peut utiliser l'update site pour se mettre à jour (si cablé)

  • Il peut définir des informations de branding (icone de lancement, splash screen..)

  • Il se créé à l'aide de wizards dans eclipse (fichier .product)