Remplacement d'un identifiant de fonction existant dans Eclipse
-
21-08-2019 - |
Question
J'ai une fonction et je souhaite modifier son ID. Cependant, cela ne permet pas de mettre à jour l'installation existante et voici pourquoi:
- On suppose que la fonction F1 à la version 1.0 du plug-in A consiste à la version 1.0.
- Maintenant, je veux avoir une fonction F2 à la version 1.1 qui utilise le plugin A à la version 1.1.
- Lors de l'installation de F2 je reçois une erreur - que je l'ai déjà fonction F1 qui nécessite le plugin A dans la version 1.0 et, par conséquent, l'installation de plug-in A 1.1 annulera cette dépendance.
Je suis à la recherche d'un moyen pour indiquer que F2 remplace F1. Comment puis-je faire?
La solution
Je suppose que vous utilisez p2.
Lorsque vous exportez / construire votre fonctionnalité avec p2 métadonnées, le content.xml résultant (jar) contient quelque chose comme ce qui suit:
<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>
Cet élément spécifie les versions précédentes <update>
de la fonction que celui-ci va mettre à jour. L'outillage de génération de métadonnées existantes définit ce que vous voyez ci-dessus.
I créé une fonction « f » qui comprend « A 1.0.0 » plug-in et exportés avec des métadonnées et installé de manière caractéristique dans mon éclipse. Ensuite, j'ai créé une fonction 'g' qui comprend plug-in "A 2.0.0". J'exporté ce nouveau au même référentiel. Puis je suis allé et modifié manuellement le fichier content.xml et changé:
<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'/>
à
<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'/>
Alors dans mon éclipse, je l'ai fait un « Check for Updates », et il a trouvé « g » comme une mise à jour du précédent « f » et fait la mise à niveau. (Vous devrez peut-être forcer le dépôt à rechargées pour ramasser les changements, faire un « test de connexion » dans la page des préférences des sites logiciels disponibles devraient le faire).
Malheureusement, il n'y a actuellement aucun moyen de faire obtenir le processus d'exportation / de construction pour changer l'élément de mise à jour pour vous, et il faudrait être modifier manuellement. Je levai ce bug .