2012-05-28 2 views
0

laisse supposer que nous avons un site de mise à jour avec 2 fonctions Eclipse (chacun a son propre plug-in):Quelle est la meilleure façon de déplacer un plug-in Eclipse d'une entité à une autre?

  • Caractéristique principale
  • Fonction optionnelle (dépend de la principale)

En la nouvelle version, je veux plier les plug-ins de la fonctionnalité facultative dans la fonction principale. Je ne veux plus montrer la fonctionnalité optionnelle. Si je fais le déplacement comme je l'ai dit, c'est très bien pour les nouvelles installations, mais pour les mises à jour, c'est problématique car l'ancienne fonctionnalité qui dépend de la version exacte de son plug-in va rester en conflit.

Je pourrais garder la caractéristique facultative comme caractéristique incluse de la caractéristique principale, mais dans ce cas il y aura toujours un artefact "Optional Feature.feature.group" qui exigera l'ancienne version de la caractéristique.

Je suis maintenant de retour à la case départ, ayant à ajouter la fonctionnalité optionnelle comme une fonctionnalité racine dans le site de mise à jour et le montrant à l'utilisateur juste pour obtenir ce "* .feature.group" là. Il peut être désinstallé en toute sécurité plus tard et je peux l'indiquer dans le nom et la description, mais tout le processus est quelque peu désordonné et probablement pas facile à comprendre pour les utilisateurs. Cela fonctionnerait probablement encore plus mal avec les installations d'Eclipse Marketplace.


Une erreur d'exemple simplifié que je reçois lors de l'installation du caché (inclus dans la principale) caractéristique mannequin:

Your original request has been modified. 
    "Main Feature" is already installed, so an update will be performed instead. 
Cannot complete the install because of a conflicting dependency. 
    Software being installed: Main Feature 2 (main.feature.feature.group 2) 
    Software currently installed: Optional Feature 1 (optional.feature.feature.group 1) 
    Only one of the following can be installed at once: 
    Optional Feature Plug-in 1 (optional 1) 
    Optional Feature Plug-in 2 (optional 2) 
    Cannot satisfy dependency: 
    From: Optional Feature 1 (optional.feature.feature.group 1) 
    To: optional [1] 
    Cannot satisfy dependency: 
    From: Main Feature 2 (main.feature.feature.group 2) 
    To: optional [1] 
+0

Qu'en est-il de l'introduction d'un nouveau site de mise à jour et de laisser l'ancien pour la compatibilité? Ou renommer l'actuel en héritage et seulement déployer le nouveau à l'URL actuelle? – toomasr

+0

N'importe où le site est: Je veux me débarrasser de l'ancienne fonctionnalité qui est déjà installée sur l'ordinateur de l'utilisateur :) La pensée actuelle est d'introduire des fonctionnalités fictives qui écrasent les anciennes mais sont vides et peuvent être désinstallées après installer. –

Répondre

1

Pourquoi ne pas changer la fonction en option dans une fonction fictive (c.-à-un fonctionnalité sans plugins). Indiquez également dans la description de la caractéristique factice qu'elle a été abandonnée.

+0

Oui, c'est la seule solution que j'ai pu faire fonctionner, mais cela semble toujours être un problème pour les utilisateurs. –

Questions connexes