Paketera Eclipse-komponenter

Eclipse-komponenter levereras som arkivfiler. Varje arkiv innehåller en samling funktioner och insticksprogram. Vanligen innehåller arkiven alla funktioner som en viss komponent tillhandahåller. Det förekommer ofta att kunder antingen behöver fler än en komponent eller att de bara behöver delar av vissa komponenter. Utan hjälp skulle kunder behöva hämta de arkiv som innehåller den överordnade uppsättningen till den funktion de behöver manuellt och sedan extrahera önskade funktioner och insticksprogram manuellt. Det kan vara en arbetskrävande process där det lätt uppstår fel.

Som tur är så har PDE en mekanism för satsvis bearbetning, paketeringsfunktionen packager, som kan vara till hjälp. Sammanfattningsvis används en lista med arkiv som innehåller funktioner och en lista med intressanta funktioner som indata i paketeringsfunktionen. Den hämtar sedan zip-filerna, extraherar funktionerna (och insticksprogrammen) och paketerar om dem i en utdata-zip-fil.

Snabbstart

Nedan följer en uppsättning enkla steg för att komma igång med paketeringsfunktionen.   Du rekommenderas bygga *nix-paket på en *nix-dator så att inte filbehörigheter ändras.

  1. Skapa en katalog för paketeringskonfiguration och kopiera mallfilerna (packager.properties, packaging.properties, and customTargets.xml) från org.eclipse.pde.build/templates/packager till den.
  2. Redigera de kopierade packager.properties-filerna och ange följande egenskaper:
  3. Hämta avbildningsfiler för paketering.   Med följande egenskaper styrs hämtning av avbildningsfiler:
    Paketeringsskriptet sammanfogar alla *.map-filer i ${downloadDirectory}. Om du vill hämta fler än en avbildningsfil eller om du vill hämta dem från CVS redigerar du filen customTargets.xml och ändrar målet getMapFiles.
  4. Kör paketeringsfunktionen med hjälp av följande kommando:
  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=<sökväg till katalogen för paketeringskonfigurationen>

Format för avbildningsfiler för paketering

Avbildningsfilerna för paketering används till att beskriva de olika arkiven, innehållet i dem och varifrån de kan hämtas.   De påminner om de avbildningsfiler som används i byggprocessen till att hämta samlingspaket från lager.   En post för en avbildningsfil för paketering har följande format:
archiveName = url | [configList] | [directory] | contentDescription | componentName

Observera att configList och directory är valfria. Det är viktigt att rätt antal |-avgränsare används.
Exempel:
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

Konfigurationsegenskaper för paketeringsfunktion

Följande egenskaper kan anges i konfigurationsfilen packager.properties för paketeringsfunktionen:
baseDirectory
Den katalog där paketeringen görs.
workingDirectory
Den katalog där skripten genereras.  Värdet i mallen är ${baseDirectory}/workingPlace
downloadDirectory
Den mapp som arkiven ska hämtas till.   Värdet i mallen är ${baseDirectory}/toPackage
tempDirectory
Den mapp som arkiven ska extraheras till.   Värdet i mallen är ${baseDirectory}/temp
featurePaths
Namnet på rotmappen för de hämtade arkiven.  Värdet i mallen är eclipse.
featureList
En kommaavgränsad lista med funktions-ID:n som du vill paketera om.
componentFilter
En kommaavgränsad lista med de komponenter där funktionerna i featureList ingår.   Med den här egenskapen filtreras de tillgängliga arkiven och paketeringsfunktionen kan optimera den uppsättning filer som hämtas.
contentFilter
En kommaavgränsad lista med innehållstyper som ska hämtas.   Med den här egenskapen filtreras uppsättningen med tillgängliga arkiv och paketeringsfunktionen kan optimera den uppsättning filer som hämtas.
config
Det här är en &-avgränsad lista med konfigurationer (kommaavgränsade tredelade uppsättningar med operativsystem, fönstersystem och arkitektur) som ska paketeras om.   (till exempel win32, win32, x86 & linux, gtk, x86)
archivesFormat
Formaten för arkiven.   En &-avgränsad lista med konfigurationsformat.   (till exempel win32, win32, x86 - antZip & linux, gtk, ppc - tar).  Om inget arkivformat anges för en viss konfiguration används standardformatet antZip.
zipargs
Extra argument som ska överföras till zip
unzipargs
Extra argument som ska överföras till unzip
archivePrefix
Prefixet för resultatarkiven
collectingFolder
Namnet på rotmappen för resultatarkivet.
buildId
Styr bygg-ID:t i standardnamnet på arkivet.
buildType
Typen av bygg som används när byggutdata namnges.   Vanligen I, N, M, S ...
buildLabel
Etiketten för bygget.   Mallvärdet är ${buildType}.${buildId}
archiveNamePrefix
Styr namnet på resultatarkivet.   Standardvärdet är ${buildId}
packagingProperties
En relativ sökväg till den fil som innehåller de egenskaper som anger vilka rotfiler som ska paketeras.   Som standard pekar den på packaging.properties.
deltaPack
Anger om ett deltapaket ska genereras.   Om den här egenskapen anges utelämnas plattformsoberoende delar och alla konfigurationer grupperas i ett arkiv.

Paketering av rotfiler

I konfigurationsfilen för paketering, packager.properties, pekar egenskapen packagingProperties på en egenskapsfil som anger vilka rotfiler som ska paketeras.   Som standard är det filen packaging.properties.

Den här egenskapsfilen ska innehålla de egenskaper som anger de aktuella rotfilerna.   Mer information om rotegenskaper finns på sidan om funktionsspecifika egenskaper.