Eclipse 组件是作为归档文件交付的。每个归档都包含一组功能部件和插件。通常,归档包含特定组件必须提供的所有功能。在许多情况下,使用者需要多个组件并且/或者只需要某些组件的部分内容。在没有辅助的情况下,使用者必须手工访存包含所需功能的超集的归档,然后手工抽取所需的功能部件和插件。此过程需要耗费大量人工,并且容易出错。
幸运的是,PDE 提供了面向批处理的机制 - 打包程序,它可以为您提供很大的帮助。简而言之,打包程序接收包含功能部件的归档列表以及要使用的功能部件列表作为输入。然后,它访存 ZIP、抽取功能部件(及其插件)并将它们重新打包成输出 ZIP。
下面这一组基本步骤帮助您开始使用打包程序。建议您在 *nix 机器上构建 *nix 包,以确保保留文件许可权。
java -jar <Eclipse 安装目录>/startup.jar -application org.eclipse.ant.core.antRunner
-buildfile <<Eclipse 安装目录>/plugins/org.eclipse.pde.build_<version>/scripts/package.xml>
-DpackagingInfo=<打包配置目录的路径>
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 |
将用来执行所有打包操作的目录。 |
workingDirectory |
要生成的脚本的存储目录。模板中的值是 ${baseDirectory}/workingPlace。 |
downloadDirectory |
要下载的归档的存储文件夹。模板中的值是 ${baseDirectory}/toPackage。 |
tempDirectory |
要抽取的归档的存储文件夹。模板中的值是 ${baseDirectory}/temp。 |
featurePaths |
要下载的归档的根目录名。模板中的值是 eclipse。 |
featureList |
要重新打包的功能部件标识的逗号分隔列表。 |
componentFilter |
featureList 中的功能部件所在组件的逗号分隔列表。此列表对可用的归档进行过滤,并允许打包程序减少所要下载的文件数目。 |
contentFilter |
要访存的内容类型的逗号分隔列表。此列表对可用的归档集进行过滤,并允许打包程序减少所要下载的文件数目。 |
config
|
要重新打包的配置(操作系统、窗口系统和体系结构的逗号分隔三连项列表)的“&”分隔列表(例如,win32, win32, x86 & linux, gtk, x86)。 |
archivesFormat |
归档的格式。“配置 - 格式”的“&”分隔列表(例如,win32, win32, x86 - antZip & linux, gtk, ppc - tar)。如果未对给定的配置指定归档格式,就会使用缺省格式 antZip。 |
zipargs |
要传递给 ZIP 的其他参数。 |
unzipargs |
要传递给 UNZIP 的其他参数。 |
archivePrefix |
所生成的归档的前缀。 |
collectingFolder |
所生成的归档的根文件夹名。 |
buildId |
控制缺省归档名中包含的构建标识。 |
buildType |
构建类型,它用于命名构建输出。通常是 I、N、M 或 S 等等。 |
buildLabel |
构建标签。模板值是 ${buildType}.${buildId}。 |
archiveNamePrefix |
控制所生成的归档的名称。此属性的缺省值是 ${buildId}。 |
packagingProperties |
属性打包根文件所在的文件的相对路径。缺省情况下,此属性指向 packaging.properties。 |
deltaPack |
是否生成变化量包。这将排除独立于平台的内容部分,并且将把所有配置分组到一个归档中。 |