Pergunta

Eu tenho uma característica e eu quero mudar o seu ID. No entanto, isso faz com que seja impossível para atualizar a instalação existente e aqui está o porquê:

  1. Suponha que a F1 recurso na versão 1.0 consistem de plugin de à versão 1.0.
  2. Agora, eu quero ter um F2 recurso na versão 1.1 que usos de plugin à versão 1.1.
  3. Após a instalação F2 eu recebo um erro - que eu já tenho F1 recurso que exige plug-in A na versão 1.0 e, portanto, a instalação de plug-in A 1.1 irá anular essa dependência.

Eu estou procurando uma maneira de indicar que F2 substitui F1. Como posso fazer isso?

Foi útil?

Solução

Eu estou supondo que você está usando p2.

Quando você exporta / construir o seu recurso com p2 metadados , o content.xml resultante (.jar) contém algo como o seguinte:

<unit id='f.feature.group' version='1.0.0' singleton='false'>
  <update id='f.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
  ...
</unit>

Este elemento <update> especifica versões anteriores do recurso que este irá atualizar. As ferramentas de geração de metadados existente define isso como você vê acima.

Eu criei um recurso de 'f' que inclui plug-in "A 1.0.0" e exportados com metadados e instalado esse recurso no meu eclipse. Então eu criei um recurso de 'g', que inclui plug-in "A 2.0.0". I exportados este novamente para o mesmo repositório. Então eu fui e manualmente editar o arquivo content.xml, e mudou:

<unit id='g.feature.group' version='1.0.0.200907061120' singleton='false'>
  <update id='g.feature.group' range='[0.0.0,1.0.0.200907061120)' severity='0'/>

para

<unit id='g.feature.group' version='1.0.0.200907061120' singleton='false'>
  <update id='f.feature.group' range='[0.0.0,1.0.0.200907061120)' severity='0'/>

Em seguida, no meu eclipse, eu fiz um "Check for Updates", e encontrado 'g' como uma atualização para o 'f' anterior e fez o upgrade. (Pode ser necessário forçar o repositório para ser recarregado para pegar as mudanças, fazer um "teste de conexão" na página de preferências Disponível Sites de software devem fazer isso).

Infelizmente não há atualmente nenhuma maneira de fazer chegar o processo de exportação / build para mudar o elemento de atualização para você, e ele teria de ser uma edição manual. Eu levantei este bug .

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