Une des fonctionnalités apportées par p2 est de pouvoir facilement créer des miroirs d’entrepôts de métadonnées et d’artefacts.
J’essaierai de préciser dans les jours à venir quelques notions clés de p2 comme celles-ci ; mais en attendant, vous pouvez d’ores et déjà —coucou David !— réaliser un miroir de l’entrepôt Ganymede, et le partager avec vos collègues !
D’ailleurs, cela me fait penser qu’il faudrait que je vérifie si celui que j’ai fait à Anyware est bien d’équerre…
Le miroir de l’entrepôt d’artéfacts (i.e. les binaires des plug-ins et des features) se réalise de la façon suivante :
./eclipse -nosplash -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -source http://download.eclipse.org/releases/ganymede -destination file:/home/benjamin/miroirArtefactsGanymede
Même principe pour celui de métadonnées (basiquement, ce sont les descriptions des dépendances entre chaque élément de l’entrepôt)
./eclipse -nosplash -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source http://download.eclipse.org/releases/ganymede -destination file:/home/benjamin/miroirMetadonneesGanymede
Nota : Il n’est à l’heure actuelle pas possible de descendre dans le même dossier local les deux entrepôts, mais vous pouvez tout à faire la manip’ manuellement. Il suffit de recopier le fichier content.xml de l’entrepôt de métadonnées à côté du fichier artifacts.xml de celui d’artéfacts, et le tour sera joué !
Nota2 : Attention, le mirroring des artéfacts est très long (plusieurs heures). En effet, on demande bien à ne répliquer qu’un et un seul miroir, et on ne peut donc pas bénéficier du téléchargement simultanés de plusieurs artéfacts depuis plusieurs miroirs (parfois très rapides) comme cela peut se faire dans l’utilisation habituelle de p2…
J’ai été très mauvaise langue avec certains de mes collègues en leur conseillant de rester à la version 3.4 M5 d’Eclipse, p2 fonctionnant très mal sur la M6.
Et bien, je retire tout ce que j’ai dit —pour l’instant
En effet, depuis quelques jours, tous les packages M6 de Ganymede sont disponibles, et on peut donc mettre à jour son environnement grâce à l’update-site suivant :
http://download.eclipse.org/releases/ganymede/
Ceci dit, tout n’est pas encore parfait : l’update-site semble assez chargé ce matin et on se prend aléatoirement des “Connection timed out” dans les dents…
Affaire à suivre, donc…
Avec quelques jours de retard (il semblerait que l’intégration de p2 ait été assez laborieuse…) voici la cuvée M6 d’Eclipse 3.4 !
Comme pour chaque milestone, voici les nouveautés qui ont particulièrement retenu mon attention :
Beaucoup de sous-projets qui étaient jusqu’alors en incubation ont été gradés et font donc maintenant partie du projet Equinox “officiel”, et sont ainsi accessibles aux utilisateurs du SDK Eclipse. Parmi ces projets :
@noreference lorsque l’on veut indiquer qu’une méthode (définie dans une classe abstraite, par exemple) ne doit pas être appelée par les “clients”. A l’heure actuelle, ce genre de contrainte était tant bien que mal explicité dans la javadoc de la méthode (”Clients must not call this method” …), et le moins qu’on puisse dire c’est que ce n’était pas très formel, et encore moins exploitable de manière automatique.StyledCellLabelProvider est la classe abstraite à étendre pour avoir le support de cette nouvelle fonctionnalité ; IStyledLabelProvider permettant de venir enrichir un LabelProvider qui auraient déjà une super-classe. A noter que cela ne se résume pas qu’aux couleurs d’avant et d’arrière-plan puisque l’on peut également souligner, encadrer, mettre en gras, … certains tronçons de son label !IStyledLabelProvider).MessageFormat.Pour les curieux, le New & Noteworthy complet est ici !