Hébergement personnel de projet binaire

L'hébergement personnel simple est adapté à la plupart des situations indépendantes et tout particulièrement au développement ciblé sur des produits volumineux. Mais dans certains cas, une solution plus élaborée est nécessaire :

  1. Les plug-in externes ne se trouvant pas dans l'espace de travail, ils ne sont pas pris en compte lors d'une opération de recherche. En conséquence, diverses recherches (de références d'interface et de classe, d'implémentations, etc.) ne renvoient pas les résultats escomptés. Seules les bibliothèque externes du chemin de classe des plug-in de l'espace de travail sont visibles pour le plug-in Java.

  2. En étroite liaison avec à 1), vous ne pouvez balayer que le code source des plug-in externes nécessaires aux plug-in de l'espace de travail . Les autres plug-in ne sont pas visibles.

  3. Le chemin d'accès aux classes n'est pas stable. Si vous travaillez sur plusieurs plug-in interdépendants dans l'espace de travail, PDE exprime ces dépendances sous forme de références de projet. Par opposition, les dépendances de plug-in externes sont exprimées à l'aide de la variable ECLIPSE_HOME et de JAR externes. Si vous partagez ces projets à l'aide du référentiel, les autres développeurs devront dupliquer ce complément même s'ils n'ont pas obligatoirement besoin de tous les plug-in de l'espace de travail.

En conclusion il est évident que si tous les plug-in se trouvaient dans l'espace de travail, les problèmes seraient résolus. La recherche se déroulerait comme prévue, le code source serait visible pour toutes les classes et le chemin de classe serait uniforme, c'est-à-dire ne contiendrait que des références de projets. Toutefois, ajouter systématiquement l'intégralité du produit à partir d'un référentiel partagé au format source prend beaucoup trop de temps au niveau du chargement et de la compilation. D'où l'introduction de la notion de projets binaires.

Les projets binaires sont des projets de plug-in classiques, qui ne contiennent pas de code source. En tant que tel, ils sont ignorés lors de la compilation et ne servent qu'à pallier les inconvénients décrits ci-dessus. Les plug-in externes sont placés dans l'espace de travail à l'aide de l'assistant d'importation de PDE.

Avant d'importer des projets binaires, vous devez configurer PDE pour l'hébergement personnel binaire. Comme nous n'utiliserons pas de plug-in externes pour résoudre les références, nous devons les désactiver dans la page Préférences. Ensuite, il suffit d'activer l'assistant d'importation en sélectionnant Fichier->Importer...->Plug-in et fragments externes

Assistant Importation des plug-in externes - Page 1

La plupart du temps, le valeurs par défaut de la première page vous conviendront. Par défaut, vous importez les plug-in externes du plan de travail d'exécution cible comme défini dans la page des préférences. La première page de l'assistant d'importation permet de modifier l'emplacement du plan de travail d'exécution en fournissant un raccourci d'accès à la page Développement de plug-in->Plateforme cible à l'aide du bouton Modifier....

L'importation de projets binaires peut augmenter la taille de votre espace de travail au point que toute opération d'importation prenne énormément temps selon le nombre et le contenu des plug-in importés.  Pour pallier cet inconvénient, PDE fait appel à la notion d'importation avec liaison.  Si vous désactivez la case 'Copier le contenu du plug-in dans l'emplacement de l'espace de travail', PDE n'importe pas dans l'espace de travail le contenu des plug-in sélectionnés.  Au lieu de cela, il crée des projets pour ces plug-in dans l'espace de travail et crée une ressource liée pour chaque fichier qui devait être importé.  Ces ressources liées pointent sur les fichiers installés qui apparaissent dans votre espace de travail comme s'ils avaient été réellement importés.  Vous pouvez alors les parcourir mais vous ne pouvez pas les modifier car cette opération entraînerait la modification des fichiers d'origine.  La suppression d'un projet binaire implique bien entendu la suppression de tous les fichiers liés qu'il contient.

 

La liaison automatique du code source à un fichier JAR et l'option d'extraction des archives sources nécessitent que PDE trouve le fichier zip contenant la source.  Pour cette tâche, deux conditions sont nécessaires à PDE :

1. Le fichier zip doit être correctement nommé.  Si le nom de la bibliothèque est xyz.jar, le fichier zip contenant la source de cette bibliothèque doit se nommer xyzsrc.jar.

2. Le fichier zip doit se trouver au même endroit que le fichier JAR ou dans l'un des emplacements déclarés de code source. Dans Eclipse, le code source est mis en forme dans des plug-in séparés et les emplacements de code source sont déclarés à l'aide du point d'extension 'org.eclipse.pde.core.source'.  PDE parcourt automatiquement toutes les extensions de la plateforme cible, calcule tous les emplacements de code source détectés sur cette plateforme et les ajoute dans la page de préférences Développement de plug-in->Emplacements de code source.

Si vous importez à partir d'un autre que la plateforme cible comme indiqué sur la page Développement de plug-in->Plateforme cible et que le code source est mis enforme à l'aide des points d'extension 'org.eclipse.pde.core.source', veillez à ajouter ces emplacements de code source manuellement dans la page Développement de plug-in->Emplacements de code source, de sorte que PDE puisse localiser la source.

Les chemins d'accès aux bibliothèques contiennent parfois des variables, par ex. $ws$.  PDE remplace les valeurs définies sur la page Développement de plug-in->Environnement cible par ces variables.  Lorsque les valeurs sont incompatibles avec la plateforme à partir de laquelle vous importez, la première page de l'assistant d'importation propose un raccourci d'accès à cette page de préférences via le bouton Modifier... pour modifier les valeurs de cette page de préférences.

Lorsque vous cliquez sur Suivant, l'assistant détermine tous les candidats à l'importation et les met à disposition dans une liste de cases à cocher. La série de plug-in que vous sélectionnerez réellement dépend de votre mode d'hébergement personnel.

Assistant Importation des plug-in externes - Page 2

Si vous travaillez sur des plug-in qui ne figurent pas encore sur la plateforme cible, vous souhaiterez tous les sélectionner (Sélectionner tout). Si certains plug-in de la liste se trouvent déjà dans l'espace de travail sous forme de source, vous pouvez cliquer sur Projets existants, puis sur Inverser la sélection. Tous les plug-in qui ne se trouvent pas encore dans l'espace de travail sont alors sélectionnés.

Lorsque vous cliquez sur Fin, les plug-in sélectionnés sont importés dans l'espace de travail. PDE définit également leur chemin de classe et les archives source associées aux bibliothèques de sorte que vous puissiez les visualiser ou les déboguer.

Lorsque l'espace de travail contient un grand nombre de projets binaires, il est difficile de les différencier des projets source. PDE propose deux solutions complémentaires à ce problème. Un décorateur de libellé qui ajoute une icône de recouvrement 'binaire' pour l'icône habituelle du projet afin de clairement signifier qu'il s'agit d'un projet binaire. Vous pouvez activer cette option dans la page Préférences sous 'Plan de travail->Décorations d'intitulés'. De plus, PDE fournit un filtre de projets binaires à la vue Java Explorer. Lorsque ce filtre est appliqué, il masque les projets binaires pour ne laisser visibles que ceux sur lesquels vous travaillez.

Projets binaires avec recouvrement d'icône dans la vue Packages

 

 
Copyright IBM Corporation and others 2000, 2003