la instalación de un plugin de Eclipse mediante programación desde dentro de Eclipse?

StackOverflow https://stackoverflow.com/questions/1520493

  •  19-09-2019
  •  | 
  •  

Pregunta

Quiero crear un instalador automático para un plugin de Eclipse (es decir, no a través del "Gestor de actualizaciones"). Mi escenario es simple:. El usuario cierra Eclipse, cae un JAR descargado en la carpeta dropins, comienza Eclipse y el resto del proceso es automático

En versiones anteriores de Eclipse, antes de la era de la P2, Eclipse tenía (todavía tiene) una llamada InstallCommand clase que podría ser utilizado para instalar pluings en la plataforma actualmente en ejecución.

Si bien esto todavía funciona en Eclipse 3.4 y 3.5, no se está comportando correctamente: más notablemente, los plugins instalados de esa manera no se puede desinstalar automáticamente (está atenuado).

El JavaDoc reivindica el InstallCommand es obsoleto y debe ser sustituida por una alternativa P2. Sin embargo, no pude encontrar la herramienta adecuada para el trabajo. Existe la , sino que se construye para ejecutar como una aplicación independiente de la línea de comandos. Es posible invocar desde dentro de Eclipse, pero realmente no está hecho para eso. Por ejemplo, el control del progreso y el informe de errores no están funcionando bien.

¿Alguien sabe de una buena alternativa para que?

Gracias, Zviki

¿Fue útil?

Solución

dropins parece mucho a lo que usted quiere, especialmente si son simplemente descargando frascos sin los metadatos asociados (es decir, los metadatos tendrá que ser auto-generado).

Se podría considerar que define una zona de segunda dropins dirigirse a sí mismo. Echar un vistazo a ProfileSynchronizer en org.eclipse.equinox.p2.reconciler.dropins, en particular, la createProfileChangeRequest método. Espero que el comportamiento de desinstalación no le gusta es el resultado de que se añade la propiedad IInstallableUnit.PROP_PROFILE_LOCKED_IU.

Los dropins se reconcilian en el arranque, ver las Activator.watchDropins p2.reconciler.dropins (), es probable que pueda hacer lo mismo desde su propio paquete para ver otra carpeta.

Otros consejos

Sugiero para desplegar su plugin como un JAR ejecutable. El instalador en el frasco debe pedir el directorio de instalación de Eclipse y descomprimir el plugin en el lugar correcto (además de algunos cheques más si es necesario).

Opcionalmente incluir un pequeño plug-in "perro guardián", que no depende de la cantidad y simplemente comprueba que sus principales cargas de plugin correctamente y muestra un mensaje de error útil que el usuario puede enviar por correo electrónico a usted para la ayuda.

De acuerdo a la información en bug 311590 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=311590" 1 que se hace referencia en el comentario deprecation de InstallCommand una alternativa es posiblemente utilizar operaciones P2 2 , 3 .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top