Download di siti di aggiornamento plug-in Eclipse per l’installazione offline

Un plug-in che voglio installare fornisce un sito di aggiornamento per l’installazione. Tuttavia, l’installazione di Eclipse su cui voglio installarlo si trova su una macchina che non è connessa a Internet. C’è un modo per accedere al sito (HTTP, FTP, ecc.) Per scaricare i file al suo interno per l’installazione offline?

Eclipse offre un modo per eseguire il mirroring automatico di questi siti, tramite la riga di comando o le attività ant.

Specchio basato su informazioni 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 

Riferimento: mirroring del repository Equinox p2

Mirror basato su informazioni site.xml

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

Riferimento: esecuzione di Gestione aggiornamenti dalla riga di comando

Puoi seguire l’evoluzione di questi script nel mio repository di script .

Dopo aver lottato con il mirroring per un po ‘di tempo, mi sono reso conto che è molto più semplice (almeno per me) utilizzare “wget”.

In breve:

  1. Scarica il sito:

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

  2. Prendi il contenuto del sito di aggiornamento scaricato e spostalo nel tuo ambiente offline

  3. Aggiungi la directory del tuo sito di aggiornamento offline all’elenco dei siti software disponibili tramite il pulsante “Locale …”.

Puoi leggere su di esso con maggiori dettagli qui .

La maggior parte dei plug-in Eclipse può essere installata senza l’aggiornamento di Eclipse, copiando i JAR richiesti disponibili nel sito di aggiornamento, nelle directory dei plug-in e delle funzionalità dell’installazione di Eclipse.

In alcuni casi, è necessario avviare Eclipse con un opzione -clean.

Ecco un esempio di come fare questo per il plugin m2eclipse:

  1. Il sito di aggiornamento di m2eclipse è http://m2eclipse.sonatype.org/update . Identificare l’elenco dei JAR richiesti è il primo passo. Questo si trova normalmente nel file site.xml; in questo caso, lo troverai in http://m2eclipse.sonatype.org/update/site.xml .
  2. Filtra l’elenco di JAR da scaricare nella versione del plug-in che intendi utilizzare. Questo può essere determinato dall’attributo version per ogni “caratteristica”. Se sei fortunato, troverai la descrizione del JAR nel nodo della categoria.
  3. Nota l’attributo url di ogni JAR che deve essere scaricato. Ciò includerà la sottodirectory sul server dove è disponibile il JAR e anche la directory nell’installazione di Eclipse in cui devono essere posizionati.

PS: questo metodo è un po ‘hacker, ma è basato sul riferimento alla mappa del sito . Ma fai riferimento all’aggiornamento

Aggiornare

Non l’ho provato, ma puoi creare un sito mirror locale, da cui tutti possono prelevare i plug-in Eclipse. In Galileo, questo può essere fatto eseguendo l’ aggiornamento di Eclipse in modalità standalone tramite il comando mirror .

È ansible eseguire il mirroring dei siti p2 utilizzando le attività Ant:

  springide            

o findbugs:

  findbugs         

Affinché questo funzioni, devi eseguire attività ant sulla stessa JVM di eclipse.

È ansible trovare ID IU: s aprendo “Aggiornamenti software” e copiandolo da lì. In Eclipse 3.5 dovrebbe esserci un pulsante Altro …, in 3.4 è necessario fare clic sul pulsante Proprietà.

Ho scoperto che p2 mirrorApplication non funzionava molto bene su alcuni siti e artefatti duplicati con mirroring (sia la versione pack200 che jar). L’Aggregatore b3 ha funzionato molto meglio e ha reso molto più semplice la personalizzazione del mio sito di aggiornamento. Vedere il manuale all’indirizzo: https://wiki.eclipse.org/Eclipse_b3/aggregator/manual per istruzioni e dettagli sull’installazione.

I passi fondamentali che ho usato sono stati:

  • File> Nuovo> Altro …> b3> Aggregazione repository.
  • Selezionare il nodo Aggregazione e impostare la radice di creazione nella cartella in cui si desidera eseguire il repository aggregato.
  • Aggiungi le piattaforms che ti interessano usando R-clic sul nodo Aggregazione > Nuovo figlio> Configurazione.
  • Aggiungi un set di convalida , normalmente imposta la sua etichetta su main.
  • Se non sono necessari bundle aggiuntivi dal repository di eclipse principale (ad esempio: http://download.eclipse.org/releases/mars ), è ansible aggiungerlo al Validation Set come un repository di convalida , ma in genere è necessario per aggiungerlo come repository mappato in Contribution, in modo da poter scaricare dipendenze e / o funzionalità di eclipse aggiuntive.
  • Per ciascun plug-in, aggiungi un Contributo con un’etichetta e sotto tale almeno un repository mappato con una Posizione .
  • Aggiungi nodes di categoria personalizzati all’aggregazione se lo desideri; dare a ciascuno una descrizione , un identificatore e un’etichetta unici.
  • Espandi il nodo Repository Browser nella parte inferiore> espandi l’URL del repository> espandi le Unità installabili > Guarda le funzionalità in Categorie (se presenti) e / o in Funzioni .
  • Fare clic con il pulsante destro sulle funzionalità desiderate e su Aggiungi a categoria personalizzata (se si utilizzano quelle), altrimenti Aggiungi al repository mappato padre come> Funzione mappata.
  • Fare clic con il pulsante destro su qualsiasi nodo> Build Aggregation.

Nota importante: se non si mappano le funzionalità da un determinato repository, l’intero repository verrà specchiato (le versioni più recenti di tutti i bundle penso, non in realtà tutto nel repository).

Fortunatamente non ho dovuto scherzare con le regole di esclusione o le regole di configurazione valide, che sembrano rendere le cose più complicate. Tuttavia, potrebbero essere necessarie regole di esclusione se i repository contengono pacchetti con conflitti di dipendenza, nel qual caso è necessario escludere uno o più bundle in conflitto.

Mentre b3 Aggregator normalmente scarica solo l’ultima versione di tutte le funzionalità che hai mappato (e le sue dipendenze), se usi ripetutamente Build Aggregation nel momento in cui vengono rilasciate nuove versioni, le versioni obsolete si accumuleranno nella tua aggregazione. Potresti usare Clean, quindi Build Aggregation, ma questo significa che dovrai scaricare di nuovo tutto. Invece, è sufficiente aggiungere un altro file di aggregazione .b3aggr, impostare la radice di build, aggiungere le proprie configurazioni e aggiungere un contributo con un repository mappato utilizzando il percorso della directory final del mirror locale. Non associare alcuna funzione o creare alcuna categoria. Quindi Build Aggregation e verranno aggregate solo le ultime versioni del tuo mirror!

Puoi ottenerlo da qui https://repository.sonatype.org/content/repositories/forge-sites/m2e/1.3.0/N/1.3.0.20121023-1108/

Scarica tutti i file eseguendo il drill down in plug-in e funzionalità. Memorizza in una directory sulla tua macchina mantenendo tutto nella stessa struttura di directory. Spostalo in una cartella sulla tua macchina dev.

In Eclipse vai su Aiuto | Intall New Software … Premi il pulsante ‘Aggiungi’. Premi il pulsante ‘Local …’ Cerca la directory in cui hai inserito i file. Seguire le istruzioni sullo schermo.

I plugin Eclipse di solito dipendono da altri plugin. È piuttosto difficile rintracciare le dipendenze. È meglio scaricare tutte le dipendenze utilizzando il sito di aggiornamento una volta e puoi distribuirle ad altri dropin di Eclipse. Per Eclipse 3.4 o successivo, è ansible utilizzare dropins, una funzione di Eclipse. In questo modo non è necessario installare il plug-in dal sito di aggiornamento ogni volta che è necessario reinstallare Eclipse. Leggi su http://michsan.web.id/content/how-install-eclipse-plugins-offline

Se non riesci a vedere il web, ti darò qualche descrizione

Preparare la directory per i plugin esterni

Crea una directory speciale per contenere i nostri amati plugin, ad esempio in / home / ichsan / eclipse-dropins installeremo il plugin Maven: m2eclipse.

 mkdir /home/ichsan/eclipse-dropins 

Per ora, chiameremo questa directory come DROPINS

Preparare la sandbox

Successivamente, utilizzando Git creeremo una sandbox Eclipse. Il punto è installare un plugin su un nuovo Eclipse. Invece di installare Eclipse fresco ogni volta che vogliamo installare un nuovo plugin, è meglio usare Git per creare un nuovo ramo di Eclipse fresco.

Per prima cosa, estrai / installa un nuovo Eclipse in una directory, ad esempio / home / ichsan / eclipse-sandbox (in modo che troveremo /home/ichsan/eclipse-sandbox/eclipse.ini). Chiamiamo la directory come ECLIPSE_SANDBOX.

Quindi, eseguire il commit della nuova installazione. Questo passaggio dovrebbe essere fatto una sola volta.

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

Installa plugin su sandbox

Ora è la parte interessante. Supposto che dobbiamo installare il plugin m2eclipse. Lo installeremo sul nuovo ramo di Git in modo che il ramo principale rimanga pulito o rimanga intatto.

 cd $ECLIPSE_SANDBOX git checkout -b "m2eclipse" 

Ora, iniziamo l’Eclipse dell’ECLIPSE_SANDBOX e scarichiamo il plugin. Una volta terminato, chiudiamo Eclipse e controlliamo quali nuove directory o file sono stati creati (usando Git). Ricorda che ci interessano solo i nuovi plugin e le directory delle funzionalità e il contenuto al loro interno. Quindi, non coperemo il resto in 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 

Basta copiare la directory di DROPINS / m2eclipse in ECLIPSE_HOME / dropins o creare un collegamento simbolico. E abbiamo finito!

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

Un altro modo è quello di eseguire il backup delle differenze tra commit di nuova Eclipse e commit di post-plugin-installazione.

 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