2009-11-07 7 views
3

J'ai pris le projet org.eclipse.equinox.p2.examples.rcp.prestartupdate et l'ai adapté pour l'utiliser dans mon application RCP. Je configure ensuite un référentiel de mise à jour qui est mis à jour dans le cadre de ma compilation nocturne. Quand j'ouvre mon application, elle parcourt les mouvements comme si elle était mise à jour - elle trouve le site de mise à jour, génère une désinstallation et installe l'opérande pour chaque paquet correctement et dit qu'il s'est terminé sans erreurs. Le problème est que les plugins ne sont jamais réellement installés dans le dossier plugins même si le profil est mis à jour (une exécution suivante indique qu'il n'y a pas de mise à jour). La prochaine fois que ma construction fonctionnera correctement, il y aura des mises à jour, mais la même chose se reproduira. J'ai passé quelques jours à déboguer et la seule chose qui sort de l'ordinaire (sans que je comprenne parfaitement ce qui se passe) est que pendant la phase de configuration finale, aucun des objets TouchpointData n'a d'instructions, donc il ne fonctionne pas. On dirait que configure fait ce qu'il devrait faire. Je n'ai aucune idée de la prochaine étape et je voudrais voir si quelqu'un d'autre a des idées.La mise à jour sans tête P2 ne fonctionne pas

Mise à jour:

J'ai finalement compris ce qui se passait.

Le problème a commencé lorsque j'ai créé mon produit sans générer le référentiel de métadonnées. Lors de la création via Eclipse, je n'ai pas coché la case "Générer le référentiel de métadonnées" dans les assistants de produit d'exportation car je n'avais pas besoin d'un référentiel p2, juste le produit. Le problème est que, sans vérifier ce bouton, le produit ne s'installe pas en tant que P2 activé provoquant des effets secondaires tels que la non génération d'un profil entre autres choses.

J'ai essayé de compenser cela en créant manuellement un profil dans le code que j'ai découvert depuis, c'est une très mauvaise idée. Mes problèmes d'origine ont été créés car mon profil n'a pas été configuré correctement.

Une fois que j'ai commencé à exporter le produit avec "Générer le référentiel de métadonnées", la mise à jour a démarré correctement l'installation des nouveaux plugins. Le problème que j'ai maintenant est que bien que les plugins soient installés correctement, l'exécutable est saccagé et je ne peux plus lancer mon application. Je construis mon site de mise à jour via Hudson et le dossier binaire présent lorsque j'utilise l'assistant Eclipse Export Product est manquant. Je suppose que c'est ce qui ne va pas maintenant.

Des idées pour lesquelles les binaires ne se construiraient pas dans ma construction PDE sans tête?

Imaginé cela aussi. J'avais supposé que tout ce dont j'avais besoin était les plugins lanceurs individuels pour les plates-formes que je voulais construire. Puisque j'essayais de comprendre le processus, je copiais les plugins un par un sur le serveur de build. Il s'avère que pour inclure les binaires spécifiques à la plate-forme dans la construction, vous devez avoir la fonctionnalité org.eclipse.equinox.executable du paquet delta. Une fois que j'ai ajouté cela à la construction les binaires ont commencé à apparaître dans la sortie. Avec les binaires, le mécanisme de mise à jour fonctionne exactement comme prévu.

+0

Vous pouvez demander au groupe de discussion Equinox: http://www.eclipse.org/forums/index.php?t=thread&frm_id=31&S=54cb8a352cdaac8400ec1094fdd67639 –

Répondre

2

J'avais supposé que tout ce dont j'avais besoin était les plugins lanceurs individuels pour les plates-formes que je voulais construire. Puisque j'essayais de comprendre le processus, je copiais les plugins un par un sur le serveur de build. Il s'avère que pour inclure les binaires spécifiques à la plate-forme dans la construction, vous devez avoir la fonctionnalité org.eclipse.equinox.executable du paquet delta. Une fois que j'ai ajouté cela à la construction les binaires ont commencé à apparaître dans la sortie. Avec les binaires, le mécanisme de mise à jour fonctionne exactement comme prévu.

Questions connexes