Pakowanie komponentów Eclipse

Komponenty Eclipse są dostarczane jako pliki archiwum. Każde archiwum zawiera zbiór składników i wtyczek. Zazwyczaj archiwa zawierają wszystkie funkcje udostępniane przez określony komponent. Często użytkownicy potrzebują więcej niż jednego komponentu albo tylko części niektórych komponentów. Bez asysty musieliby ręcznie pobierać archiwa zawierające nadzbiór funkcji, której potrzebują, a następnie ręcznie wyodrębniać potrzebne składniki i wtyczki. Może to być czasochłonne i prowadzić do błędów.

Na szczęście środowisko PDE zawiera mechanizm oparty na zadaniach wsadowych: program pakujący, który może być pomocny. Mówiąc w skrócie, program pakujący na wejściu pobiera listę archiwów zawierających składniki oraz listę interesujących składników. Następnie pobiera pliki zip, wyodrębnia składniki (i ich wtyczki), a następnie ponownie pakuje je do wyjściowego pliku zip.

Szybki start

Poniżej przedstawiono podstawowe czynności pozwalające rozpocząć pracę z programem pakującym.  Zaleca się budowanie pakietów dla systemów *nix na komputerze z systemem *nix, aby zachować uprawnienia do plików.

  1. Utwórz katalog konfiguracji pakowania i skopiuj do niego pliki szablonu (packager.properties, packaging.properties i customTargets.xml) z katalogu org.eclipse.pde.build/templates/packager.
  2. Dokonaj edycji skopiowanych plików packager.properties i ustaw następujące właściwości:
  3. Pobierz pliki odwzorowania programu pakującego.  Pobieraniem plików odwzorowana sterują następujące właściwości:
    Skrypt programu pakującego konkatenuje wszystkie pliki *.map znalezione w katalogu ${KatalogPobierania}. Aby pobrać więcej niż jeden plik odwzorowania lub pobrać je z repozytorium CVS, otwórz do edycji plik customTargets.xml i zmień cel getMapFiles.
  4. Uruchom program pakujący za pomocą następującej komendy:
  5. java -jar <katalog instalacyjny eclipse>/startup.jar -application org.eclipse.ant.core.antRunner
    
    -buildfile <<katalog instalacyjny eclipse>/plugins/org.eclipse.pde.build_<wersja>/scripts/package.xml>
    -DpackagingInfo=<ścieżka do katalogu konfiguracyjnego pakowania>

Format pliku odwzorowania programu pakującego

Pliki odwzorowania programu pakującego służą do opisania różnych archiwów, ich zawartości oraz miejsca, z którego można je pobrać.  Są one podobne do plików odwzorowania używanych w procesie budowania w celu pobierania pakunków z repozytoriów.  Format wpisu w pliku odwzorowania programu pakującego jest następujący:
archiveName = url | [configList] | [directory] | contentDescription | componentName

Miej na uwadze, że właściwości ListaKonfiguracji i katalog są opcjonalne; ważne jest, aby użyć właściwej liczby separatorów "|".
Przykłady:
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

Właściwości konfiguracji programu pakującego

W pliku konfiguracji programu pakującego packager.properties można ustawić następujące właściwości:
baseDirectory
Katalog, w którym będzie odbywać się całe pakowanie
workingDirectory
Katalog, w którym będą generowane skrypty.  Wartość w szablonie to ${baseDirectory}/workingPlace
downloadDirectory
Folder, do którego zostaną pobrane archiwa.  Wartość w szablonie to ${baseDirectory}/toPackage
tempDirectory
Folder, do którego zostaną wyodrębnione archiwa.  Wartość w szablonie to ${baseDirectory}/temp
featurePaths
Nazwa katalogu głównego pobranych archiwów.  Wartość w szablonie to eclipse.
featureList
Oddzielona przecinkami lista identyfikatorów składników, które mają zostać przepakowane.
componentFilter
Oddzielona przecinkami lista komponentów, w których znajdują się składniki wymienione na liście ListaSkładników.  Filtruje ona dostępne archiwa i umożliwia programowi pakującemu zoptymalizować zestaw pobieranych plików.
contentFilter
Oddzielona przecinkami lista typów zawartości do pobrania.  Filtruje ona zestaw dostępnych archiwów i umożliwia programowi pakującemu zoptymalizować zestaw pobieranych plików.
config
Oddzielona znakami "&" lista konfiguracji (oddzielonych przecinkami trójek określających system operacyjny, system okienkowy i architekturę) do przepakowania.   (np.: win32, win32, x86 & linux, gtk, x86).
archivesFormat
Formaty archiwów.  Oddzielona znakami "&" lista konfiguracja - format.  (np.: win32, win32, x86 - antZip & linux, gtk, ppc - tar).  Jeśli dla danej konfiguracji nie określono formatu, domyślnym formatem jest antZip.
zipargs
Dodatkowe argumenty przekazywane do programu zip
unzipargs
Dodatkowe argumenty przekazywane do programu unzip
archivePrefix
Przedrostek archiwum wynikowego
collectingFolder
Nazwa folderu głównego dla archiwum wynikowego.
buildId
Określa ID budowania w domyślnej nazwie archiwum.
buildType
Typ budowania używany do tworzenia nazwy pliku wynikowego budowania.  Zazwyczaj I, N, M, S, ...
buildLabel
Etykieta budowania.  Wartość w szablonie to ${buildType}.${buildId}
archiveNamePrefix
Określa nazwę archiwum wynikowego.  Wartość domyślna to ${buildId}
packagingProperties
Względna ścieżka do pliku zawierającego pliki główne pakietu właściwości.  Domyślnie jest to plik packaging.properties.
deltaPack
Określa, czy generować pakiet delta.  Wyklucza ona fragmenty niezależne od platformy i grupuje wszystkie pliki konfiguracyjne w jednym archiwum.

Pliki główne pakietu

W pliku właściwości programu pakującego packager.properties właściwość WłaściwościPakowania wskazuje na plik właściwości określający pliki główne, które należy spakować.  Domyślnie jest to plik packaging.properties.

Plik ten powinien zawierać właściwości określające wymagane pliki główne.  Szczegóły dotyczące właściwości plików głównych zawiera sekcja Właściwości konkretnych składników.