Téléchargement des sites de mise à jour des plug-ins Eclipse pour une installation hors ligne

Un plug-in que je veux installer fournit un site de mise à jour pour l’installation. Cependant, l’installation d’Eclipse sur laquelle je souhaite l’installer se trouve sur une machine non connectée à Internet. Y a-t-il un moyen pour moi d’accéder au site (HTTP, FTP, etc.) pour télécharger les fichiers pour une installation hors ligne?

Eclipse permet de mettre en miroir ces sites automatiquement, via la ligne de commande ou via des tâches ant.

Miroir basé sur les informations p2

$eclipse_home/eclipse -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -source $1 -destination $2 $eclipse_home/eclipse -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source $1 -destination $2 

Référence: mise en miroir du référentiel Equinox p2

Miroir basé sur les informations de site.xml

 java -jar $eclipse_home/plugins/org.eclipse.equinox.launcher_*.jar -application org.eclipse.update.core.standaloneUpdate -command mirror -from $from -to $to 

Référence: Exécution du gestionnaire de mise à jour à partir de la ligne de commande

Vous pouvez suivre l’évolution de ces scripts dans mon référentiel de scripts .

Après avoir lutté avec la mise en miroir pendant un certain temps, j’ai réalisé qu’il était beaucoup plus facile (au moins pour moi) d’utiliser “wget” à la place.

En bref:

  1. Téléchargez le site:

    wget --recursive --no-parent http://url.of/updatesite

  2. Prenez le contenu du site de mise à jour téléchargé et déplacez-le dans votre environnement hors ligne

  3. Ajoutez votre répertoire de site de mise à jour hors ligne à la liste des sites logiciels disponibles via le bouton “Local …”.

Vous pouvez lire à ce sujet avec plus de détails ici .

La plupart des plug-ins Eclipse peuvent être installés sans le programme de mise à jour Eclipse, en copiant les fichiers JAR requirejs disponibles sur le site de mise à jour dans les répertoires des plug-ins et des fonctionnalités de l’installation Eclipse.

Dans certains cas, il est nécessaire de démarrer Eclipse avec un commutateur -clean.

Voici un exemple de la procédure à suivre pour le plug-in m2eclipse:

  1. Le site de mise à jour de m2eclipse est http://m2eclipse.sonatype.org/update . Identifier la liste des JAR requirejs est la première étape. Cela se trouve normalement dans le fichier site.xml; dans ce cas, vous le trouverez dans http://m2eclipse.sonatype.org/update/site.xml .
  2. Filtrez la liste des fichiers JAR à télécharger dans la version du plug-in que vous souhaitez utiliser. Cela peut être déterminé par l’atsortingbut de version pour chaque “fonctionnalité”. Si vous avez de la chance, vous trouverez la description du fichier JAR dans le nœud de la catégorie.
  3. Notez l’atsortingbut url de chaque fichier JAR à télécharger. Cela inclura le sous-répertoire sur le serveur sur lequel le fichier JAR est disponible, ainsi que le répertoire dans l’installation Eclipse où ils doivent être placés.

PS: Cette méthode est un peu piratée, mais elle est basée sur la référence de la carte du site . Mais faites référence à la mise à jour

Mettre à jour

Je n’ai pas tenté cela, mais vous pouvez créer un site miroir local, à partir duquel tout le monde peut récupérer les plug-ins Eclipse. Dans Galileo, cela peut être fait en exécutant le programme de mise à jour Eclipse en mode autonome via la commande mirror .

Vous pouvez mettre en miroir des sites p2 en utilisant des tâches Ant:

  springide            

ou findbugs:

  findbugs         

Pour que cela fonctionne, vous devez exécuter des tâches ant dans la même JVM que eclipse.

Vous pouvez trouver les identifiants IU: s en ouvrant “Software Updates” et en les copiant à partir de là. Dans Eclipse 3.5, il devrait y avoir un bouton Plus, en 3.4 vous devez cliquer sur le bouton Propriétés.

J’ai trouvé que l’application miroir p2 ne fonctionnait pas très bien sur certains sites et sur les artefacts dupliqués en miroir (à la fois dans la version pack200 et la version jar). Le b3 Aggregator fonctionnait beaucoup mieux et il était beaucoup plus facile de personnaliser mon site de mise à jour. Voir le manuel à l’ adresse : https://wiki.eclipse.org/Eclipse_b3/aggregator/manual pour les instructions d’installation et les détails.

Les étapes de base que j’ai utilisées étaient:

  • Fichier> Nouveau> Autre …> b3> Agrégation de référentiels.
  • Sélectionnez le nœud Agrégation et définissez la racine de création sur le dossier dans lequel vous voulez que le référentiel agrégé soit exécuté.
  • Ajoutez les plates-formes qui vous intéressent en cliquant sur le nœud Agrégation > Nouvel enfant> Configuration.
  • Ajoutez un jeu de validation , définissez normalement son libellé sur main.
  • Si vous n’avez pas besoin de bundles supplémentaires du repository principal eclipse (par exemple: http://download.eclipse.org/releases/mars ), vous pouvez l’append au jeu de validation en tant que référentiel de validation , mais vous aurez généralement besoin de pour l’append en tant que référentiel mappé sous une consortingbution , les dépendances et / ou les fonctionnalités supplémentaires peuvent être téléchargées.
  • Pour chaque plug-in, ajoutez une consortingbution avec une étiquette et, au-dessous, au moins un référentiel mappé avec un emplacement .
  • Ajoutez des nœuds de catégorie personnalisés à l’ agrégation si vous le souhaitez; donnez-leur chacun une description , un identifiant et une étiquette uniques.
  • Développez le nœud Navigateur de référentiel en bas> développez l’URL de référentiel > développez les Unités installables > Examinez les entités sous Catégories (le cas échéant) et / ou sous Fonctionnalités .
  • Cliquez sur les fonctionnalités de votre choix et sur Ajouter à la catégorie personnalisée (si vous les utilisez), sinon Ajouter au référentiel mappé parent en tant que> fonctionnalité mappée.
  • Cliquez sur n’importe quel noeud> Créer une agrégation.

Remarque importante: si vous ne mappez aucune fonctionnalité d’un référentiel donné, ce référentiel entier sera mis en miroir (les dernières versions de tous les bundles, je pense, pas tout dans le repository).

Heureusement, je n’ai pas eu à me soucier des règles d’exclusion ou des règles de configuration valides, qui semblent compliquer les choses. Toutefois, des règles d’exclusion peuvent être nécessaires si les référentiels contiennent des ensembles comportant des conflits de dépendance, auquel cas un ou plusieurs ensembles en conflit doivent être exclus.

Alors que b3 Aggregator ne télécharge normalement que la dernière version de chaque fonctionnalité que vous avez mappée (et ses dépendances), si vous utilisez de manière répétée Build Aggregation au fur et à mesure de la sortie des nouvelles versions, les versions obsolètes s’accumuleront dans votre agrégation. Vous pouvez utiliser Clean, puis Build Aggregation, mais cela signifie que vous devrez tout télécharger à nouveau. Au lieu de cela, ajoutez simplement un autre fichier d’agrégation .b3aggr, définissez la racine de création, ajoutez vos configurations et ajoutez une consortingbution à un référentiel mappé en utilisant le chemin d’access au répertoire final de votre miroir local. Ne mappez aucune entité ou créez aucune catégorie. Ensuite, créez une agrégation et seules les dernières versions de votre miroir seront agrégées!

Vous pouvez l’obtenir ici https://repository.sonatype.org/content/repositories/forge-sites/m2e/1.3.0/N/1.3.0.20121023-1108/

Téléchargez tous les fichiers explorant les plugins et les fonctionnalités. Stockez dans un répertoire sur votre machine en conservant tout dans la même structure de répertoire. Déplacez-le dans un dossier sur votre machine de développement.

Dans Eclipse, allez dans Aide | Intall New Software … Cliquez sur le bouton “Ajouter” Cliquez sur le bouton “Local …” Recherchez le répertoire dans lequel vous avez déposé les fichiers. Suivez les instructions à l’écran.

Les plugins Eclipse dépendent généralement d’autres plugins. Il est difficile de retracer les dépendances. Il est préférable de télécharger toutes les dépendances à l’aide du site de mise à jour une fois, et vous pouvez dissortingbuer à d’autres dropins Eclipse. Pour Eclipse 3.4 ou une version plus récente, vous pouvez utiliser des dropins, une fonctionnalité Eclipse. De cette façon, vous n’avez pas à installer le plug-in du site de mise à jour chaque fois que vous devez réinstaller votre Eclipse. Lire sur http://michsan.web.id/content/how-install-eclipse-plugins-offline

Si vous ne pouvez pas voir le web, je vais vous donner une description

Préparer un répertoire pour les plugins externes

Créez un répertoire spécial pour contenir nos plugins bien-aimés, par exemple dans / home / ichsan / eclipse-dropins, nous installerons le plugin Maven: m2eclipse.

 mkdir /home/ichsan/eclipse-dropins 

Pour l’instant, nous appellerons ce répertoire DROPINS

Préparer le bac à sable

Ensuite, en utilisant Git, nous allons créer un bac à sable Eclipse. Le but est d’installer un plugin sur une nouvelle Eclipse. Au lieu d’installer de nouvelles Eclipse chaque fois que nous souhaitons installer un nouveau plug-in, nous ferions mieux d’utiliser Git pour créer une nouvelle twig d’Eclipse.

D’abord, extrayez / installez un nouvel Eclipse dans un répertoire, par exemple / home / ichsan / eclipse-sandbox (pour que nous trouvions /home/ichsan/eclipse-sandbox/eclipse.ini). Nous appelons le répertoire ECLIPSE_SANDBOX.

Ensuite, validez la nouvelle installation. Cette étape doit être effectuée une seule fois.

 cd $ECLIPSE_SANDBOX git init git add . git commit -am "Fresh Eclipse" 

Installer le plugin sur le sandbox

Maintenant, c’est la partie intéressante. Supposons que nous devons installer le plug-in m2eclipse. Nous allons l’installer sur une nouvelle twig Git afin que la twig principale rest propre ou rest intacte.

 cd $ECLIPSE_SANDBOX git checkout -b "m2eclipse" 

Maintenant, nous commençons l’Eclipse de l’ECLIPSE_SANDBOX et téléchargeons le plugin. Une fois que nous avons terminé, nous fermons l’Eclipse et vérifions quels nouveaux répertoires ou fichiers ont été créés (en utilisant Git). Rappelez-vous que nous nous intéressons uniquement aux nouveaux plugins et aux répertoires de fonctionnalités et aux contenus qu’ils contiennent. Donc, nous ne copierons pas le rest en dropins.

 # Prepare the m2eclipse plugin directories mkdir -p $DROPINS/m2eclipse/eclipse/plugins mkdir -p $DROPINS/m2eclipse/eclipse/features cd $ECLIPSE_SANDBOX for f in $(git status | sed "s/#\t//g" | grep -P "^plugins" ); do cp -R $f $DROPINS/m2eclipse/eclipse/plugins; done for f in $(git status | sed "s/#\t//g" | grep -P "^features"); do cp -R $f $DROPINS/m2eclipse/eclipse/features; done # Make the directory read only chmod -R -w $DROPINS/m2eclipse # Commit changes git add . git add -u git commit -am "M2Eclipse plugin installed" # Back to master branch to make Eclipse clean again and ready for other plugin installations git checkout master Installing the plugin 

Copiez simplement le répertoire de DROPINS / m2eclipse dans ECLIPSE_HOME / dropins ou créez un lien symbolique. Et nous avons fini!

 cd $ECLIPSE_HOME/dropins ln -s $DROPINS/m2eclipse 

Une autre méthode consiste à sauvegarder les différences entre les validations fresh-Eclipse et les validations après l’installation du plugin.

 for i in `git diff hashFreshEclipse hashPluginInstall --name-only`;do if [ -f $i ]; then tar -r -f m2e-android.tar $i fi done gzip m2e-android.tar