Pergunta

Eu quero criar um instalador automatizado para um plugin do Eclipse (ou seja, não através do "Update Manager"). Meu cenário é simples:. O usuário fecha Eclipse, cai um JAR baixado nos dropins pasta, começa Eclipse eo resto do processo é automatizado

Em versões mais antigas do Eclipse, antes da era da P2, Eclipse tinha (ainda tem) uma classe chamada InstallCommand que poderia ser usado para instalar pluings na plataforma atualmente em execução.

Enquanto isto ainda funciona no Eclipse 3.4 e 3.5, ele não está se comportando corretamente: mais visivelmente, plugins instalados dessa forma não pode ser desinstalado automaticamente (é esmaecido).

As reivindicações JavaDoc o InstallCommand é obsoleto e deverá ser substituído por uma alternativa P2. No entanto, eu não poderia encontrar a ferramenta certa para o trabalho. Existe a P2 diretor , mas é construído para executar como uma aplicação separada da linha de comando. É possível invocá-lo de dentro do Eclipse, mas ele realmente não é cortado para isso. Por exemplo, a monitorização do progresso e relatório de erros não estão funcionando bem.

Alguém sabe de uma boa alternativa para isso?

Obrigado, Zviki

Foi útil?

Solução

dropins parece muito próximo ao que você quer, especialmente se eles estão apenas baixando frascos sem os metadados associados (ou seja, os metadados terá de ser auto-gerada).

Você poderia considerar a definição de uma área de segundo dropins para gerenciar a si mesmo. Dê uma olhada em ProfileSynchronizer em org.eclipse.equinox.p2.reconciler.dropins, em particular a createProfileChangeRequest método. Espero que o comportamento de desinstalação você não gosta é um resultado da propriedade IInstallableUnit.PROP_PROFILE_LOCKED_IU sendo adicionado.

Os dropins são reconciliados na inicialização, consulte os Activator.watchDropins p2.reconciler.dropins (), você pode provavelmente fazer o mesmo a partir de seu próprio pacote para assistir a outra pasta.

Outras dicas

Eu sugiro para implantar o seu plugin como um JAR executável. O instalador no JAR deve perguntar para o Eclipse diretório de instalação e descompactar o plugin no lugar certo (além de mais algumas verificações, conforme necessário).

Opcionalmente incluir um pouco de plug-in "cão de guarda", que não depende de cheques muito e apenas que seus principais cargas de plugin corretamente e exibe uma mensagem de erro útil que o usuário pode enviar e-mail para você para o apoio.

De acordo com informações no bug 311590 1 que é referenciado no comentário depreciação de InstallCommand uma alternativa é possivelmente para operações de uso P2 2 , 3 .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top