Domanda

Voglio creare un programma di installazione automatica per un plugin Eclipse (vale a dire non attraverso il "Update Manager"). Il mio scenario è semplice:. L'utente chiude Eclipse, scende un JAR scaricato nella cartella dropins, inizia Eclipse e il resto del processo è automatizzato

Nelle versioni più vecchie di Eclipse, prima dell'era della P2, Eclipse avuto (ancora) una chiamata InstallCommand classe che potrebbe essere utilizzato per installare pluings nella piattaforma attualmente in esecuzione.

Anche se questo funziona ancora in Eclipse 3.4 e 3.5, non si comporta correttamente: più evidente, i plugin installati in questo modo non può essere disinstallato automaticamente (è inattivo).

Il JavaDoc ferma il InstallCommand è obsoleta e deve essere sostituita da una P2 alternativa. Tuttavia, non riuscivo a trovare lo strumento giusto per il lavoro. C'è il direttore P2 , ma è costruito per l'esecuzione come applicazione separata dalla riga di comando. E 'possibile invocare dall'interno di Eclipse, ma non è davvero tagliato per questo. Ad esempio, il monitoraggio dei progressi e relazioni errore non stanno funzionando bene.

Qualcuno sa di una buona alternativa per questo?

Grazie, Zviki

È stato utile?

Soluzione

dropins sembra molto vicino a ciò che si vuole, soprattutto se sono semplicemente scaricando vasetti senza i metadati associati (cioè i metadati dovrà essere auto-generata).

Si potrebbe prendere in considerazione la definizione di una seconda area dropins a gestire se stessi. Date un'occhiata a ProfileSynchronizer in org.eclipse.equinox.p2.reconciler.dropins, in particolare il metodo createProfileChangeRequest. Mi aspetto che il comportamento di disinstallazione non ti piace è il risultato della proprietà IInstallableUnit.PROP_PROFILE_LOCKED_IU viene aggiunto.

I dropins si riconciliano in fase di avvio, vedere i Activator.watchDropins p2.reconciler.dropins (), è probabile che si può fare lo stesso dal proprio fascio di guardare un'altra cartella.

Altri suggerimenti

Suggerisco di distribuire il plugin come un JAR eseguibile. Il programma di installazione nel JAR dovrebbe chiedere per la directory di installazione di Eclipse e scompattare il plugin nel posto giusto (più alcuni ulteriori controlli se necessario).

Facoltativamente includere un po 'di plug-in "cane da guardia", che non dipende tanto e solo controlla che i carichi principali di plugin correttamente e visualizza un messaggio di errore utile che l'utente può posta elettronica voi per il supporto.

Secondo le informazioni in bug 311.590 1 cui viene fatto riferimento nel deprecation commento di InstallCommand un'alternativa è eventualmente utilizzare le operazioni P2 2 , 3 .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top