繁体   English   中英

Eclipse:无头PDE构建所需的最低Eclipse安装是什么?

[英]Eclipse: What is the minimum Eclipse installation needed for a headless PDE build?

我目前正在无头模式下使用PDE构建来构建我的OSGI Bundle项目。 PDE Antrunner任务使用Eclipse安装,我只是指向我的本地Eclipse安装。

不幸的是,我的eclipse安装大约260MB,但我认为PDE版本不需要在标准的eclipse安装中使用所有这些插件。

现在有人做了无头PDE构建所需的最小插件列表吗? 我在自定义目标平台文件夹中实际拥有的所有依赖项,所以我想我在eclipse安装中唯一需要的是PDE构建实际需要的依赖项。 但是那些是什么? 我可以将安装缩小到最低限度吗?

我的目标是在我的项目的SVN中签入这个“build-eclipse”文件夹,这样当你检查它时,你就拥有了启动完整构建所需的一切,而不需要触及任何build.properties。 但如果我可能只需要20MB的话,我不想提供266MB的日食。

谢谢Christoph

我今天终于需要自己这样做了(为了解决我所遇到的问题,其名称中包含空格的目录未包含在生成的PDE Build包中 )。 我最终得到了一些可以构建我的(基于Java的)插件集合的东西。 我不知道它是否是“最小”,但它是以Java PDE Build为重点,并且比完整的Eclipse IDE安装小得多。

我粗略地记笔记; 这里可能会有一些遗漏或多余的步骤,但主要是它应该引导。

一世:

  1. 解雇了最近的Eclipse IDE(在我的例子中,我目前使用的3.5实例)。
  2. 使用了临时工作空间,因此对目标平台的更改不会搞砸我的“真实”项目。
  3. 确保目标平台设置为我想要绘制PDE构建器插件的位置(在我的例子中,只是我运行的Eclipse)。 (窗口|首选项... |插件开发|目标平台)
  4. 创建了一个新的空项目。
  5. 在该项目中创建了一个新的产品配置(使用“基本设置”)。
  6. 在新产品配置的“概述”页面上,取消选中“产品包含原生启动工件”。
  7. 在依赖关系上,指定以下插件构成产品:
    • org.eclipse.pde.build
    • org.apache.ant
    • org.eclipse.jdt.core
  8. 选中“包含可选依赖项。 “。
  9. 单击“添加必需的插件”。
  10. 在包资源管理器中右键单击产品定义,然后选择“导出... | Eclipse产品“。
  11. 告诉我想要我的PDE构建器实例的地方。
  12. 未选中“导出前同步”。
  13. 未选中“生成元数据存储库”。
  14. 单击“完成”。

现在我可以(继续)通过调用如下的宏来从我的普通Ant构建启动PDE Build(有更好的方法吗?):

<macrodef name="build-a-product">
    <attribute name="config-dir"/>
    <sequential>
        <property name="product-build-file" value="${pde-builder-path}\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml" />
        <java jar="${pde-builder-path}\plugins\org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar" fork="yes" failonerror="yes" >
            <arg value="-application" />
            <arg value="org.eclipse.ant.core.antRunner" />

            <arg value="-buildfile" />
            <arg value="${product-build-file}" />

            <arg value="-Dbuilder=@{config-dir}" />

            <arg value="-Dbasedir=${basedir}" />
        </java>
    </sequential>
</macrodef>

我不能直接回答你的问题,但我可以挥手一点,其中一些可能会帮助你找到真正的答案。

在我的PDE体验中,我发现区分它非常有用:

  • 我用来进行交互式编辑的Eclipse IDE
  • 我用于无头PDE构建的“Eclipse”安装
  • “目标平台”(插件/功能/等等我正在构建的东西取决于)

听起来这些都是清晰,独立的概念:您已经隔离了“目标平台”,并希望将您的交互式Eclipse与PDE构建器隔离开来。

您可以尝试在交互式Eclipse中创建一个新的(空白)工作区(只是为了确保您正在查看它,而不是在目标平台上),打开“插件”视图,右键单击看似有希望的插件-in像org.eclipse.pde.build ,并选择“Open Dependencies”。 “平面布局”可能是比分层结构更有用的查看结果的方式,但在我的Eclipse中我似乎无法复制和粘贴此列表。

在我的情况下,这没有提到JDT中的任何内容,这让我觉得实际上尝试构建基于Java的插件会失败,但希望这会提供另一个引导(例如“找不到org.eclipse.jdt “, 或者其他的东西)。

看起来似乎“应该”使用软件更新机制,目标平台或Buckminster来命名一个插件并让所有其他插件到位。 也许您可以使用目标平台,选择您需要的插件,点击按钮选择所需的插件,然后以某种方式导出一个“构建”,有效地收集所有这些插件?

我承认我们刚刚在交互式Eclipse中签入并将其用作我们的PDE构建器。 我们不会以交互方式使用它,我们也会维护一个单独的目标平台。 我们的PDE构建器显然不是最小的,但也可能是,所以我希望您将用您的发现更新此空间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM