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

Chr*_*oph 13 eclipse eclipse-pde headless

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

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

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

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

谢谢Christoph

Woo*_*III 5

我今天终于需要自己这样做了(为了解决我所遇到的问题,其名称中包含空格的目录未包含在生成的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>
Run Code Online (Sandbox Code Playgroud)


Woo*_*III 3

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

根据我的 PDE 经验,我发现区分以下内容非常有用:

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

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

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

就我而言,JDT 中没有提及任何内容,这让我认为实际上尝试构建基于 Java 的插件会失败,但希望这会提供另一个线索(例如“找不到org.eclipse.jdt”或其他内容) 。

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

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