Compressione di componenti Eclipse

I componenti Eclipse vengono forniti come file di archivio. Ogni archivio contiene una raccolta di funzioni e plugin. Generalmente gli archivi contengono tutte le funzioni di cui dispone un determinato componente. Avviene spesso che i consumatori necessitino di più componenti e/o soltanto di alcune parti di essi. Senza supporto, i consumatori dovranno recuperare manualmente gli archivi contenenti la superserie della funzione necessaria e quindi estrarre manualmente le funzioni e i plugin richiesti. Tale operazione potrebbe risultare laboriosa e incline ad errori.

Fortunatamente, PDE contiene un meccanismo molto utile orientato su batch, il packager. In breve, il packager acquisisce come input un elenco di archivi contenenti funzioni e un elenco di funzioni interessanti. Esso recupera quindi gli zip, estrae le funzioni (e i relativi plugin) e li ricomprime in uno zip di output.

Avvio rapido

Di seguito viene riportata una serie di procedure basilari di introduzione al packager.  Si consiglia di generare pacchetti *nix su una macchina *nix per garantire che le autorizzazioni file vengano conservate.

  1. Creare una directory di configurazione del pacchetto e copiare i file modello (packager.properties, packaging.properties e customTargets.xml) da org.eclipse.pde.build/templates/packager qui.
  2. Modificare i file packager.properties copiati e impostare le seguenti proprietà:
  3. Acquisire i file di associazione del packager.  Le seguenti proprietà controllano il downdload dei file di associazione:
    Lo script del packager concatenerà tutti i file *.map rilevati in ${downloadDirectory}. Per scaricare più file di associazione o per recuperarli da CVS, modificare il file customTargets.xml e la destinazione getMapFiles.
  4. Eseguire il packager utilizzando il seguente comando:
  5. java -jar <eclipse install>/startup.jar -application org.eclipse.ant.core.antRunner 
    -buildfile <<eclipse install>/plugins/org.eclipse.pde.build_<version>/scripts/package.xml>
    -DpackagingInfo=<path to your packaging configuration directory>

Formato del file di associazione del packager

I file di associazione del packager vengono utilizzati per descrivere i vari archivi, il relativo contenuto e il percorso da cui possono essere scaricati.  Essi sono simili ai file di associazione utilizzati nel processo di generazione per recuperare gli insiemi dai repository.  Il formato di una voce del file di associazione del packager è il seguente:
archiveName = url | [configList] | [directory] | contentDescription | componentName

Tenere presente che configList e directory sono facoltativi; è importante che vengano comunque utilizzati i separatori "|" di numero appropriati.
Esempi:
eclipse-SDK-3.1-win32.zip=http://download.eclipse.org/downloads/drops/R-3.1-200506271435/ | win32,win32,x86 | | sdk | eclipse
eclipse-PDE-3.1.zip=http://download.eclipse.org/downloads/drops/R-3.1-200506271435/ | | | runtime | pde

Proprietà di configurazione del packager

Le seguenti proprietà possono essere impostate nel file packager.properties di configurazione del packager:
baseDirectory
La directory in cui avrà luogo l'intero processo di compressione
workingDirectory
La directory in cui verranno generati gli script.  Il valore nel modello è ${baseDirectory}/workingPlace
downloadDirectory
La cartella in cui verranno scaricati gli archivi.  Il valore nel modello è ${baseDirectory}/toPackage
tempDirectory
La cartella in cui verranno estratti gli archivi.  Il valore nel modello è ${baseDirectory}/temp
featurePaths
Il nome della directory principale degli archivi scaricati.  Il valore nel modello è eclipse.
featureList
Un elenco di id funzione, separati da virgole, che si desidera ricomprimere.
componentFilter
Un elenco di componenti, separati da virgole, da cui è possibile rilevare le funzioni in featureList.  Esso filtra gli archivi disponibili e consente al packager di ottimizzare la serie di file scaricati.
contentFilter
Un elenco di tipi di contenuto da richiamare, separati da virgole.  Esso filtra la serie di archivi disponibili e consente al packager di ottimizzare la serie di file scaricati.
config
Un elenco di configurazioni, separate da "&", (triple di sistema operativo, sistema di finestra e architettura separate da virgole) da ricomprimere.  (ad esempio: win32, win32, x86 & linux, gtk, x86)
archivesFormat
I formati degli archivi.  Un elenco di formati -configu, separati da "&".  (ad esempio: win32, win32, x86 - antZip & linux, gtk, ppc - tar).  Se non si specifica alcun formato di archivio per una determinata configurazione, il formato predefinito è antZip.
zipargs
Argomenti extra da passare per la compressione
unzipargs
Argomenti extra da passare per la decompressione
archivePrefix
Il prefisso degli archivi risultanti
collectingFolder
Il nome della cartella principale dell'archivio risultante.
buildId
Controlla l'id di generazione nel nome predefinito dell'archivio.
buildType
Tipo di generazione, utilizzato nella denominazione dell'output di generazione.  Generalmente uno tra I, N, M, S, ...
buildLabel
Etichetta per la generazione.  Il valore del modello è ${buildType}.${buildId}
archiveNamePrefix
Controlla il nome dell'archivio risultante.  Il valore predefinito è ${buildId}
packagingProperties
Un percorso relativo al file contenente i file della directory principale di compressione proprietà.  Per impostazione predefinita, esso specifica packaging.properties.
deltaPack
Indica se generare o meno un pacchetto delta.  In questo modo si escluderanno parti indipendenti dalla piattaforma e si raggrupperanno tutte le configurazioni in un archivio.

Compressione di file principali

Nel file packager.properties di configurazione del packager, la proprietà packagingProperties specifica un file di proprietà che specifica i file principali che è necessario comprimere.  Per impostazione predefinita, è il file packaging.properties.

Tale file di proprietà dovrebbe contenere le proprietà che specificano i file principali obbligatori.  Per dettagli sulle proprietà principali, consultare la pagina Proprietà specifiche della funzione.