l'installation d'un plug-in Eclipse Programatically à partir d'Eclipse?
-
19-09-2019 - |
Question
Je veux créer un programme d'installation automatique pour un plug-in Eclipse (à savoir pas par le « Update Manager »). Mon scénario est simple:. L'utilisateur ferme Eclipse, laisse tomber un JAR téléchargé dans le dossier dropins, commence Eclipse et le reste du processus est automatisé
Dans les anciennes versions Eclipse, avant l'ère de la P2, Eclipse avait (a encore) une classe appelée InstallCommand
qui pourrait être utilisé pour installer pluings dans la plate-forme en cours d'exécution.
Bien que cela fonctionne encore dans Eclipse 3.4 et 3.5, il ne se comporte pas correctement: plus sensiblement, les plugins installés de cette façon ne peut pas être désinstallée automatiquement (il est grisé).
Le JavaDoc revendique le InstallCommand
est dépréciée et devrait être remplacée par une alternative P2. Cependant, je ne pouvais pas trouver le bon outil pour le travail. Il est directeur P2 , mais il est construit pour faire fonctionner comme une application distincte de la ligne de commande. Il est possible d'invoquer à partir d'Eclipse, mais il est vraiment pas fait pour cela. Par exemple, le suivi des progrès et des rapports d'erreur ne fonctionnent pas bien.
Quelqu'un sait-il d'une bonne alternative pour cela?
Merci, Zviki
La solution
dropins semble très proche de ce que vous voulez, surtout si elles ne sont que le téléchargement des bocaux sans les métadonnées associées (par exemple les métadonnées devra être généré automatiquement).
Vous pouvez envisager de définir une deuxième zone de dropins pour gérer vous-même. Jetez un oeil à ProfileSynchronizer
dans org.eclipse.equinox.p2.reconciler.dropins, en particulier la méthode createProfileChangeRequest. Je pense que le comportement de désinstallation ne vous plaît pas est le résultat de la propriété IInstallableUnit.PROP_PROFILE_LOCKED_IU
ajouté.
Les dropins sont réconciliés au démarrage, voir les p2.reconciler.dropins Activator.watchDropins (), vous pouvez probablement faire la même chose à partir de votre propre paquet regarder un autre dossier.
Autres conseils
Je suggère de déployer votre plugin comme un exécutable JAR. Le programme d'installation dans le JAR doit demander le répertoire Eclipse installer et déballer le plug-in au bon endroit (et quelques contrôles supplémentaires au besoin).
En option comprennent un petit plugin « chien de garde » qui ne dépend pas beaucoup et vérifie juste que vos correctement principales charges de plug-ins et affiche un message d'erreur utile que l'utilisateur peut envoyer un courriel à votre charge.