Maîtriser Tycho de A à Z - part 4

Nous allons voir ici comment créer d'une part un référentiel pour le build Tycho, plutôt que d'utiliser la plateforme cible définie précédemment, et d'autre part comment mettre en place un site de mise à jour pour une application RCP.

Plateforme implicite

Nous avons vu dans le précédent article comment utiliser une plateforme cible pour déployer une application avec Tycho. L'intérêt de ce chapitre est de démontrer la possibilité de déposer les plugins nécessaires au déploiement sur un référentiel Eclipse, tout comme le référentiel Galileo par exemple.

La première étape est de construire le référentiel. Dans Eclipse, il faut exporter les features utilisées dans le projet, en spécifiant bien de générer les metadata.

Ensuite, il faut placer ce répertoire sur un serveur qui sera accessible par Tycho (par exemple sur un Apache simple : http://localhost/tychoRepository)

Finalement, il ne reste plus qu'à compléter le POM global du projet en ajouter l'instruction :


 
  developpef
  http://localhost/tychoRepository
  p2
 

Le build peut donc simplement être lancé par la commande : mvn clean package. Tycho ira automatique chercher les plugins de l'application sur le référentiel distant, tout comme il le fait vers le référentiel central pour ses plugins de base.

Création du site de mise à jour

Ici, rien de compliqué. Il faut commencer par créer, dans Eclipse, un projet de site de mise à jour (avec l'assistant adéquat). Le projet en question ne contient qu'un fichier site.xml dont le seul but est de rescencer les feature qui devront faire l'objet de mises à jour. Nous allons donc y ajouter com.developpef.rcpfeature :

Il faut maintenant relancer la génération des fichiers POM sur le workspace pour voir apparaitre, dans le projet en cours, un fichier généré comportant le packaging-type "eclipse-update-site". Il suffit alors de lancer la commande citée plus haut pour que Tycho construise, dans le dossier "target" du projet, un site de mise à jour de type p2 (l'action "Build All" d'Eclipse aura le même résultat).

A propos du packaging type "eclipse-update-site"

Comme indiqué dans cet article de Git, ce packaging type utilisé aujourd'hui par Tycho (v0.9.0) fait référence à l'ancienne version de référentiel p2 d'Eclipse, qui n'a pas la structure désirée. Il ne pourra donc pas être déployé par la simple commande mvn deploy mais plutôt à la main ou grâce à une tâche Ant par exemple.


Fichier(s) joint(s) :

0 commentaires: