Os componentes do Eclipse são entregues como arquivos de archive. Cada archive contém uma coleta de recursos e plug-ins. Os archives contêm normalmente as funções que um componente específico precisa oferecer. Este é o caso, muitas vezes, quando os consumidores precisam de mais de um componente e/ou precisam apenas de partes de alguns componentes. Sem assistência, os consumidores teriam que buscar manualmente os archives contendo o superconjunto da função que eles precisam e, então, extrair manualmente os recursos e plug-ins necessários. Esse pode ser um processo trabalhoso e propenso a erros.
Felizmente, o PDE contém um mecanismo orientado a lotes que pode ajudar, o empacotador. Resumindo, o empacotador utiliza como entrada uma lista de archives contendo recursos e uma lista de recursos interessantes. Em seguida, ele busca os zips, extrai os recursos (e seus plug-ins) e reempacota-os em um zip de saída.
A seguir, um conjunto de etapas básicas para iniciar o
empacotador. É recomendável construir pacotes *nix em uma máquina *nix
para assegurar que as permissões de arquivo sejam preservadas.
java -jar <instalação do eclipse>/startup.jar -application org.eclipse.ant.core.antRunner
-buildfile <<instalação do eclipse>/plugins/org.eclipse.pde.build_<versão>/scripts/package.xml>
-DpackagingInfo=<caminho para seu diretório de configuração do pacote>
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
baseDirectory |
O diretório no qual ocorrerá todo o
empacotamento |
workingDirectory |
O diretório no qual os
scripts serão gerados. O valor no modelo é ${baseDirectory}/workingPlace |
downloadDirectory |
A pasta na qual os archives
serão transferidos por download. O valor no modelo é ${baseDirectory}/toPackage |
tempDirectory |
A pasta na qual os archives
serão extraídos. O valor no modelo é ${baseDirectory}/temp |
featurePaths |
O nome da raiz dos
archives transferidos por download. O valor no modelo é eclipse. |
featureList |
Uma lista separada por vírgula
dos IDs de recurso que você deseja reempacotar. |
componentFilter |
Uma lista separada por vírgula dos
componentes a partir dos quais os recursos em featureList podem ser localizados.
Isso filtra os archives disponíveis e permite que o empacotador otimize
o conjunto de arquivos transferidos por download. |
contentFilter |
Uma lista separada por vírgula de
tipos de conteúdo para busca. Isso filtra o conjunto de archives
disponíveis e permite que o empacotador otimize o conjunto de arquivos transferidos
por download. |
config |
Uma lista separada por "&" de configurações (triplos separados por vírgula de sistema operacional, sistema de janelas, arquitetura) para reempacotamento. (Exemplo: win32, win32, x86 & linux, gtk, x86) |
archivesFormat |
Os formatos dos
archives. Uma lista separada por "&" de configuração - formato.
(Exemplo: win32, win32, x86 - antZip & linux, gtk, ppc - tar).
Se
nenhum formato de archive for especificado para uma determinada configuração, o formato padrão
será antZip. |
zipargs |
Argumentos extras a serem transmitidos ao
zip |
unzipargs |
Argumentos extras a serem transmitidos ao
unzip |
archivePrefix |
O prefixo do(s) archive(s)
resultante(s) |
collectingFolder |
O nome da pasta raiz do
archive resultante. |
buildId |
Controla o ID da construção no
nome padrão do archive. |
buildType |
Tipo do build, utilizado ao
nomear a saída do build. Normalmente um destes: I, N, M, S, ... |
buildLabel |
Rótulo para o build. O
valor do modelo é ${buildType}.${buildId} |
archiveNamePrefix |
Controle o nome do
archive resultante. O valor padrão é ${buildId} |
packagingProperties |
Um caminho relativo para o arquivo
que contém as propriedades que empacotam os arquivos raiz. Por padrão,
isso aponta para packaging.properties. |
deltaPack |
Indica se o pacote delta deve, ou não,
ser gerado. Isso excluirá partes independentes da plataforma e
agrupará todas as configurações em um archive. |