Fabriques de processus

Lorsqu'une configuration de lancement lance son programme, elle est responsable de l'appel du programme exécutable dans le mode requis. L'implémentation pour un lancement dépendra des spécificités de configuration de chaque lancement, mais la majorité des plug-in créeront une ligne de commande et appeleront un exécutif pour démarrer le programme. La classe DebugPlugin implémente une méthode pratique pour appeler un exécutif et traiter les exceptions possibles. Les clients peuvent spécifier la ligne de commande et le répertoire de travail pour l'exécutif.

Process p = DebugPlugin.exec(cmdLine, workingDirectory);

Une fois java.lang.Process créé pour le programme d'exécution, il doit être géré par le plug-in de débogage. Pour les 'starters', le processus doit être associé à ILaunch qui représente le programme lancé. Le plug-in de débogage définit un encapsuleur pour un processus du système IProcess, qui permet aux clients d'accéder au ILaunch associé et d'affecter leurs propres attributs nommés au processus. En outre, IProcess définit un intitulé pour le processus et associe un IStreamsProxy au processus permettant aux clients d'accéder aux flux d'entrée, de sortie et d'erreur du processus système. Cet encapsuleur de processus peut également être créé à l'aide d'une méthode d'utilitaire dans DebugPlugin.

IProcess process= DebugPlugin.newProcess(launch, p, "My Process);

Il est également possible de créer une mappe d'attributs nommés.

De nombreux plug-in reposent simplement sur des méthodes d'utilitaire dans DebugPlugin pour lancer le processus système et l'encapsuler dans un IProcess. Pour ces plug-in qui nécessitent plus de contrôle dans la création de l'encapsuleur, une fabrique de processus peut être associée à la configuration du lancement. La fabrique de processus est utilisée pour créer un IProcess correspondant aux besoins spécifiques du plug-in. La fabrique de processus est référencée par un ID et doit être stockée dans l'attribut DebugPlugin.ATTR_PROCESS_FACTORY_ID de la configuration de lancement.

L'association entre l'ID fabrique de processus et la classe qui l'implémente est effectuée à l'aide du point d'extension org.eclipse.debug.core.processFactories.

L'exemple suivant montre comment le plug-in Ant définit une fabrique de processus pour son lancement :

<extension point="org.eclipse.debug.core.processFactories">
	<processFactory
		class="org.eclipse.ant.internal.ui.launchConfigurations.RemoteAntProcessFactory"
		id="org.eclipse.ant.ui.remoteAntProcessFactory">
	</processFactory>
</extension>

C'est le plug-in d'enregistrement qui se charge de stocker l'ID fabrique de processus dans l'attribut de configuration de lancement approprié.