【发布时间】:2010-09-23 06:38:42
【问题描述】:
我有一系列的 Eclipse 项目,其中包含许多已检入 CVS 的插件和特性。我现在需要运行这些插件的自动构建。理想情况下,我希望不必手动对大量 Eclipse 库位置进行硬编码,这是 Eclipse 提供的自动生成的 Ant 文件的问题。构建还需要无头运行。
有没有人对 Eclipse 有过这种设置的经验,以及如何实现它的建议?
【问题讨论】:
标签: java eclipse build-process
我有一系列的 Eclipse 项目,其中包含许多已检入 CVS 的插件和特性。我现在需要运行这些插件的自动构建。理想情况下,我希望不必手动对大量 Eclipse 库位置进行硬编码,这是 Eclipse 提供的自动生成的 Ant 文件的问题。构建还需要无头运行。
有没有人对 Eclipse 有过这种设置的经验,以及如何实现它的建议?
【问题讨论】:
标签: java eclipse build-process
您可以查看几个选项,具体取决于您使用的构建脚本语言:
在我目前的客户中,我们使用包装 PDE-Build 的 Buckminster,并从 Ant/CruiseControl 调用它。我们有来自多个存储库的代码,它们都被构建到一个 RCP 产品中。
【讨论】:
制作 Eclipse Build 的标准方法是使用 PDE Build Plugin。
http://wiki.eclipse.org/index.php/PDEBuild
PDU 插件通常包含在 Eclipse IDE 中,并包含一系列模板。这些模板可帮助您建立一个系统:
理论上,您需要做的就是修改 customTargets.xml 文件,编写一个映射文件,其中包含对您需要签出的每个插件的引用,并修改 build.properties 文件以指示诸如 cvs 服务器之类的属性位置。
我遇到了与您遇到的问题类似的问题。构建机制分为几个步骤。您可以自定义 customTargets.xml 文件的 preFetch 目标,以便从存储库中的特定树导入一些“批量”库并将它们添加到构建目录,因此您不必指定地图中的每个插件。
【讨论】:
您可以使用 Tycho 通过 Maven 构建您的 eclipse 插件。这就是 M2eclipse 插件的构建方式。在http://m2eclipse.sonatype.org了解更多信息
【讨论】:
您可以编写某种脚本,为您找到这些库并将它们放入 Ant 可以理解的格式。
例如,它可以构建一个 eclipse.lirbaries.properties 文件,然后您可以使用以下命令读取该文件:
<property file="eclipse.libraries.properties" />
你也可以使用 FileSet 属性:
http://ant.apache.org/manual/Types/fileset.html
甚至两者兼而有之。
1) 调用 Ant 脚本
2) Ant Script 调用构建 eclipse.libraries.properties
的 bash(或任何脚本语言)脚本
3) Ant 加载 eclipse.libraries.properties
4) Ant 继续构建
【讨论】: