Un dispositif offre un moyen de regrouper et de décrire des plug-in composant un produit. Le regroupement de plug-in en dispositifs permet au produit d'être installé et mis à jour de façon à cohabiter avec d'autres produits basés sur Eclipse. La plateforme se divise en trois dispositifs principaux :
Il existe d'autres dispositifs moins importants, tels que des exemples et des parties de la plateforme dépendantes du systèmes d'exploitation.
Remarque : la structure d'installation et de mise à jour de la plateforme vous permet de construire vos propres implémentations des concepts présentés. Vous pouvez en ce sens définir vos propres types de dispositifs (format de mise en forme, procédures d'installation, etc.), ainsi que des types de sites de serveur pour mettre à jour vos dispositifs. Ce qui suit se base sur les implémentations par défaut pour des dispositifs et des sites de mise à jour.
Les dispositifs ne contiennent pas de code. Ils se contentent de décrire un ensemble de plug-in fournissant fonctionnement et informations sur la mise à jour. Les dispositifs sont regroupés dans un fichier d'archive de dispositifs et décrits à l'aide du fichier manifeste de dispositifs nommé feature.xml. Ci-après le manifeste pour le dispositif de la plateforme :
<?xml version="1.0" encoding="UTF-8" ?> <feature id="org.eclipse.platform" label="%featureName" version="2.0.0" image="eclipse_update_120.jpg" provider-name="%providerName" primary="true" application="org.eclipse.ui.workbench"> <description>%description</description> <license url="%licenseURL">%license</license> <url> <update url="http://update.eclipse.org/updates" label="%updateSiteName" /> </url> <plugin id="org.apache.ant" version="1.4.1" /> <plugin id="org.apache.lucene" version="1.2.0" /> <plugin id="org.apache.xerces" version="4.0.3" /> <plugin id="org.eclipse.ant.core" version="2.0.0" /> <plugin id="org.eclipse.compare" version="2.0.0" /> <plugin id="org.eclipse.core.boot" version="2.0.0" /> <plugin id="org.eclipse.core.resources" version="2.0.0" /> <plugin id="org.eclipse.core.runtime" version="2.0.0" /> <plugin id="org.eclipse.debug.core" version="2.0.0" /> <plugin id="org.eclipse.debug.ui" version="2.0.0" /> <plugin id="org.eclipse.help" version="2.0.0" /> <plugin id="org.eclipse.help.webapp" version="2.0.0" /> <plugin id="org.eclipse.help.ui" version="2.0.0" /> <plugin id="org.eclipse.platform" version="2.0.0" /> <plugin id="org.eclipse.platform.doc.user" version="2.0.0" /> <plugin id="org.eclipse.search" version="2.0.0" /> <plugin id="org.eclipse.swt" version="2.0.0" /> <plugin id="org.eclipse.team.core" version="2.0.0" /> <plugin id="org.eclipse.team.cvs.core" version="2.0.0" /> <plugin id="org.eclipse.team.cvs.ssh" version="2.0.0" /> <plugin id="org.eclipse.team.cvs.ui" version="2.0.0" /> <plugin id="org.eclipse.team.ui" version="2.0.0" /> <plugin id="org.eclipse.tomcat" version="4.0.3" /> <plugin id="org.eclipse.ui" version="2.0.0" /> <plugin id="org.eclipse.ui.externaltools" version="2.0.0" /> <plugin id="org.eclipse.update.core" version="2.0.0" /> <plugin id="org.eclipse.update.ui" version="2.0.0" /> <plugin id="org.eclipse.update.ui.forms" version="2.0.0" /> </feature>