【问题标题】:How can I build an Eclipse plugin outside of Eclipse?如何在 Eclipse 之外构建 Eclipse 插件?
【发布时间】:2010-09-23 06:38:42
【问题描述】:

我有一系列的 Eclipse 项目,其中包含许多已检入 CVS 的插件和特性。我现在需要运行这些插件的自动构建。理想情况下,我希望不必手动对大量 Eclipse 库位置进行硬编码,这是 Eclipse 提供的自动生成的 Ant 文件的问题。构建还需要无头运行。

有没有人对 Eclipse 有过这种设置的经验,以及如何实现它的建议?

【问题讨论】:

    标签: java eclipse build-process


    【解决方案1】:

    您可以查看几个选项,具体取决于您使用的构建脚本语言:

    在我目前的客户中,我们使用包装 PDE-Build 的 Buckminster,并从 Ant/CruiseControl 调用它。我们有来自多个存储库的代码,它们都被构建到一个 RCP 产品中。

    另外,these questions 可能会有所帮助。

    【讨论】:

      【解决方案2】:

      制作 Eclipse Build 的标准方法是使用 PDE Build Plugin。

      http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.pde.doc.user/guide/tasks/pde_feature_build.htm

      http://wiki.eclipse.org/index.php/PDEBuild

      PDU 插件通常包含在 Eclipse IDE 中,并包含一系列模板。这些模板可帮助您建立一个系统:

      • fetch:使用包含插件位置的地图文件检查所有插件和功能
      • generate:为每个签出的插件创建一个构建过程
      • 进程:编译插件
      • assamble:将插件打包并打包
      • postBuild:允许设置自动测试和部署

      理论上,您需要做的就是修改 customTargets.xml 文件,编写一个映射文件,其中包含对您需要签出的每个插件的引用,并修改 build.properties 文件以指示诸如 cvs 服务器之类的属性位置。

      我遇到了与您遇到的问题类似的问题。构建机制分为几个步骤。您可以自定义 customTargets.xml 文件的 preFetch 目标,以便从存储库中的特定树导入一些“批量”库并将它们添加到构建目录,因此您不必指定地图中的每个插件。

      【讨论】:

        【解决方案3】:

        您可以使用 Tycho 通过 Maven 构建您的 eclipse 插件。这就是 M2eclipse 插件的构建方式。在http://m2eclipse.sonatype.org了解更多信息

        【讨论】:

          【解决方案4】:

          您可以编写某种脚本,为您找到这些库并将它们放入 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 继续构建

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多