Ant 是一个简单的开放源脚本编制引擎,它能够运行采用 XML 格式编写的脚本。Ant 最适合执行通常存在于自动构建中的任务。
Ant 的自动构建脚本将使用在插件、段或功能部件 build.properties 中设置的变量。PDE 生成 Ant 脚本以便创建个别插件和段构建文件,并生成一个完整脚本用于构建功能部件 JAR。此“主”脚本同时负责按正确的次序(由插件相关性链来定义)运行个别脚本文件。每个构建文件都具有相同的名称(build.xml),并且是作为相应项目中清单文件的兄弟文件来创建的。
由于 Ant 脚本使用 build.properties 中的替代变量,因此,通常可以“按原样”使用它们,而不需要修改所生成的脚本。如果确实修改了它们,则每当想要重构组件时,一定不能重新创建脚本。为此,可以分别控制脚本生成和执行。
要创建脚本,只需按功能部件清单中的封装...按钮。如果清单未打开,则可以选择清单文件,然后从弹出菜单中选择创建功能部件 JAR(对于插件和段清单,存在类似的命令)。该命令将生成构建脚本并打开 Ant 向导以执行构建脚本:
标准 Ant 向导允许采用两种方法来定制:通过提供执行自变量以及通过选择一个或多个构建目标。
Ant 自变量通常用来提供覆盖缺省值和控制构建过程的特性值。自变量是使用“-Dproperty=value”设置的。可以识别下列特性:
bootclasspath — 如果设置此项,则它将替换缺省根类路径。当编译交叉平台插件时使用(例如,使用 Linux 来为 Windows 构建 UI 插件)
当执行功能部件构建脚本时,下列目标用来调用插件或段的个别目标。为了指定要执行哪些目标,应设置特性目标(例如,-Dtarget=refresh):
在此方案中,其中一个 all.* 目标充当迭代器,而要执行的实际目标是通过特性目标来指定的,如上面所示。
下列目标为所有功能部件子代构建 JAR 和源:
可以选择目标 build.update.jar,来生成采用安装/更新机制所用格式的功能部件 JAR。可以使用上面提到的特性 feature.destination 来定义要将 JAR 放置在何处,而 plugin.destination 控制要将插件和段的个别更新 JAR 放置在何处。
目标 zip.distribution 创建一个 zip 文件,它使功能部件及其插件和段采用类似于 SDK 的结构,但是不包括源代码。可以使用 zip.sources 目标来生成源代码。
使用 clean 目标来删除通过运行任何目标所生成的任何内容。最后,refresh 目标在当前项目中执行“刷新”操作,从而使得在“导航器”或“包资源管理器”视图中可以看见新生成的资源。
当对个别插件和段执行构建脚本时,可以使用称为 zip.plugin 的附加目标。它使用具有以下结构的插件的二进制文件和源代码内容来创建一个 zip 文件:
id_version/
contents
其中“id”是插件唯一标识符,而“version”是插件版本。此 zip 文件可以快速手工部署的形式直接解压缩到 Eclipse 安装目录中。