Pak Eclipse-komponenter

Eclipse-komponenter leveres som arkivfiler. Hvert arkiv indeholder en samling af funktioner og plugins. Arkiverne indeholder normalt alle funktionerne i en bestemt komponent. Det sker ofte, at brugerne har behov for mere end én komponent, og/eller at de kun har brug for dele af visse komponenter. Uden assistance skal brugerne selv hente de arkiver, der indeholder den overmængde af funktionalitet, som de har brug for, og derefter manuelt trække de nødvendige funktioner og plugins ud. Det kan være en arbejdskrævende proces med stor risiko for at begå fejl.

Heldigvis indeholder PDE en batchorienteret nyttig mekanisme ved navn packager. Kort fortalt bruger packager en liste over arkiver, der indeholder funktioner, som input sammen med en liste over interessante funktioner. Derefter henter den zip-filerne, trækker funktionerne (og de tilhørende plugins) ud og pakker dem igen i en output-zip-fil.

Hurtig start

Nedenfor vises en grundlæggende fremgangsmåde til at komme i gang med packager. Det anbefales, at du bygger *nix-pakker på en *nix-maskine for at sikre dig, at filtilladelserne bliver bevaret.

  1. Opret et pakkekonfigurationsbibliotek direkte, og kopiér skabelonfilerne (packager.properties, packaging.properties og customTargets.xml) hertil fra org.eclipse.pde.build/templates/packager.
  2. Redigér de kopierede packager.properties-filer, og indstil følgende egenskaber:
  3. Hent packager-mapping-filer.Følgende egenskaber kontrollerer overførslen af mapping-filer:
    Packager-kommandofilen fletter alle *.map-filer i ${downloadDirectory}. Hvis du vil hente flere mapping-filer, eller hvis de skal hentes fra CVS, skal du redigere filen customTargets.xml og ændre getMapFiles-målet.
  4. Udfør packager vha. følgende kommando:
    java -jar <eclipse install>/plugins/org.eclipse.equinox.launcher_<version>.jar -application org.eclipse.ant.core.antRunner 
    -buildfile <<eclipse install>/plugins/org.eclipse.pde.build_<version>/scripts/package.xml>
    -DpackagingInfo=<sti til pakkekonfigurationsbiblioteket>

Packager-mapping-filformat

Packager-mapping-filerne bruges til at beskrive de forskellige arkiver, deres indhold, og hvor de kan hentes fra.De svarer til de mapping-filer, der benyttes i byggeprocessen til at hente bundter fra opbevaringssteder.Syntaksen for en indgang i en packager-mapping-fil er:
archiveName = url | [configList] | [directory] | contentDescription | componentName

Bemærk, at configList og directory er valgfri. Det er vigtigt, at der benyttes det korrekte antal "|"-skilletegn.
Eksempler:
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

Packager-konfigurationsegenskaber

Der kan angives følgende egenskaber i packager-konfigurationsfilen packager.properties:
baseDirectory
Det bibliotek, hvor al pakning foregår
workingDirectory
Det bibliotek, hvor kommandofiler genereres. Værdien i skabelonen er ${baseDirectory}/workingPlace
downloadDirectory
Den folder, som arkiverne overføres til. Værdien i skabelonen er ${baseDirectory}/toPackage
tempDirectory
Den folder, som arkiverne pakkes ud til. Værdien i skabelonen er ${baseDirectory}/temp
featurePaths
Navnet på roden af de overførte arkiver. Værdien i skabelonen er eclipse.
featureList
En kommasepareret liste over funktions-id'er, der skal pakkes igen.
componentFilter
En kommasepareret liste over de komponenter, funktionerne i featureList kan findes i.Dette filtrerer de tilgængelige arkiver og gør det muligt for packager at optimere det sæt filer, der overføres.
contentFilter
En kommasepareret liste over indholdstyper, der skal hentes.  Dette filtrerer de tilgængelige arkiver og gør det muligt for packager at optimere det sæt filer, der overføres.
config
En liste, der er separeret med og-tegn, over konfigurationer (kommaseparerede tripletter for styresystem, vinduessystem, arkitektur), som skal pakkes igen(f.eks.: win32, win32, x86 & linux, gtk, x86)
archivesFormat
Formaterne af arkiverne. En liste (der er separeret med og-tegn) over konfigurationer og formater(f.eks.: win32, win32, x86 - antZip & linux, gtk, ppc - tar).Hvis der ikke er angivet et arkivformat for en given konfiguration, er standardformatet antZip.
zipargs
Ekstra argumenter, der skal overføres til zip.
unzipargs
Ekstra argumenter, der skal overføres til unzip.
archivePrefix
Præfikset for de resulterende arkiver.
collectingFolder
Navnet på rodfolderen i det resulterende arkiv.
buildId
Kontrollerer bygnings-id'en i arkivets standardnavn.
buildType
Byggetypen, der benyttes i byggeoutputtet. Normalt en af værdierne I, N, M, S, ...
buildLabel
Etiket til bygningen. Skabelonværdien er ${buildType}.${buildId}
archiveNamePrefix
Kontrollerer navnet på det resulterende arkiv. Standardværdien er ${buildId}
packagingProperties
En relativ sti til den fil, der indeholder pakkerodfilernes egenskaber. Dette henviser som standard til packaging.properties.
deltaPack
Om der skal genereres en delta-pakke. Dette vil udelukke platformsuafhængige dele og gruppere alle konfigurationer til ét arkiv.
unzipOrder
En kommasepareret liste over arkivnavnepræfikser, der angiver rækkefølgen for udtræk af arkiver.

Pakkerodfiler

I packager-konfigurationens packager.properties-fil henviser egenskaben packagingProperties til en egenskabsfil, som angiver, hvilke rodfiler der skal pakkes. Dette er som standard filen packaging.properties.

Denne egenskabsfil skal indeholde de egenskaber, der angiver de nødvendige rodfiler. Se siden Funktionsspecifikke egenskaber for at få oplysninger om rodegenskaberne.