Voici les composants nécessaires au démarrage de SmartTools au-dessus OSGi.
* inria.smarttools.componentsmanager * inria.smarttools.core * inria.smarttools.ds.local * inria.smarttools.dynamic * inria.smarttools.lib-osgi
SmartTools est principalement développé pour Equinox, bien qu'il peut tourner sur d'autres plateformes.
* http://www.eclipse.org/equinox
Pour lancer Equinox, il suffit de taper la commande suivante :
$ cd eclipse/plugins $ java -jar org.eclipse.osgi_3.3.1.R33x_v20070828.jar -clean -console
-clean permet de ne pas charger l'état des bundles chargés, et donc de repartir de zéro et jouer correctement le fichier config.ini.
-console permet l'ouverture stdin de la plateforme et lancer des commandes à partir du terminal. C'est argument prend une option qui est le port telnet. La console n'est plus accessible depuis le terminal, mais par un accès telnet. Pratique pour les plateformes Equinox qui tournent en démon.
-noExit pour forcer à ne pas quitter la plateforme. Il se peut que Equinox se ferme automatiquement lorsque -console n'est pas spécifié. Pratique pour les plateformes Equinox qui tournent en démon.
Equinox utilise beaucoup d'états sauvegardés et pour repartir sur une base saine, il est parfois utile de supprimer certains dossiers.
$ cd eclipse/plugins $ rm -Rf configuration/*.log configuration/org.eclipse.osgi
Afin de pouvoir démarré SmartTools dès le démarrage d'Equinox, il faut saisir dans le dossier plugins/configuration le fichier config.ini. Voici deux fichiers config.ini qui permettent de lancer respectivement l'exemple de Cmp1 et Cmp2.
* Cmp1 org.osgi.service.http.port=8081 inria.smarttools.ds.remote.port=9282 osgi.bundles=org.eclipse.osgi.services,org.eclipse.osgi.util,org.apache.commons.logging@1:start,org.mortbay.jetty,javax.servlet,org.eclipse.equinox.http.servlet@1:start,org.eclipse.equinox.http.jetty@2:start,inria.smarttools.lib,inria.smarttools.dynamic,inria.smarttools.core,componentsManager,inria.smarttools.ds.local,inria.smarttools.ds.simpleudp@3:start,cmp2,inria.smarttools.starter.cmp2@4:start osgi.bundles.defaultStartLevel=5 ch.ethz.iks.r_osgi.debug.messages=false ch.ethz.iks.r_osgi.debug.internal=false eclipse.ignoreApp=true * Cmp2 org.osgi.service.http.port=8081 inria.smarttools.ds.remote.port=9282 osgi.bundles=org.eclipse.osgi.services,org.eclipse.osgi.util,org.apache.commons.logging@1:start,org.mortbay.jetty,javax.servlet,org.eclipse.equinox.http.servlet@1:start,org.eclipse.equinox.http.jetty@2:start,inria.smarttools.lib,inria.smarttools.dynamic,inria.smarttools.core,componentsManager,inria.smarttools.ds.local,inria.smarttools.ds.simpleudp@3:start,cmp2,inria.smarttools.starter.cmp2@4:start osgi.bundles.defaultStartLevel=5 ch.ethz.iks.r_osgi.debug.messages=false ch.ethz.iks.r_osgi.debug.internal=false eclipse.ignoreApp=true