Maîtriser Tycho de A à Z - part 1

Ce premier article décrit comment créer un produit indépendant de l'interface de développement PDE.

Configuration du produit

Afin que Tycho résolve correctement les liens entre le produit et les autres projets, il est indispensable de créer un projet propre au produit, qui ne contiendra rien d'autre. Le projet "com.developpef" contient donc uniquement le fichier "com.developpef.product" (pour Tycho, le fichier doit porter le même nom que le projet, suffixé par ".product"). Il est également important que la configuration du produit se base sur des features et non des plugins. Voici la configuration terminée :

Création de la plateforme cible

L'intérêt de créer une plateforme cible est de permettre à l'application finale (le produit) de se lancer depuis un ensemble minimal de plugins que nous aurons défini qui sera au final utilisé comme base pour le build automatique de Tycho.

Commençons par créer la feature de base de notre produit qui contiendra ces fameux plugins de base. A l'aide de l'assistant de création de projet, créons un projet de feature. Elle devra être initialisée à partir d'une application RCP standard, comme illustré:

Une fois la feature créée, on pourra voir dans sa liste de plugins tout ce qui concerne une application Eclipse de base. Il faut cependant l'épurer de ce qui reste encore inutile (plugins pde...) : pour ce faire, il faut exporter la feature dans un répertoire quelconque (disons C:\minimal_target) puis supprimer tous les plugins contenant : source, mylyn, wst et pde.

Pour terminer, nous allons créer la définition de la cible. Dans un nouveau projet, créer une nouvelle "target definition", puis dans la catégorie "Location", renseigner le dossier généré précédemment :

Pour terminer, cliquer sur le lien "Set as target platform" pour indiquer au workspace de se baser uniquement sur les plugins et features de ce dossier pour compiler l'application.

Dans le prochain article, je décrirai comment utiliser Tycho pour générer les fichiers POM nécessaires à la description des projets pour la compilation de Maven.


Fichier(s) joint(s) :

0 commentaires: