11

在为开发团队创建自定义 Eclipse 发行版的上下文中。

我将如何构建包含一组特定插件的自定义 Eclipse 发行版?是否也很难添加一种更新站点来放置自定义 eclipse 将从中更新的插件的特定版本?

4

5 回答 5

19

我意识到这是一篇旧文章,但它不断出现在我所做的搜索中,鉴于在交付 Eclipse 插件方面发生的所有变化和成熟度,我想提供更多细节......所以,对于那些最终在此页面上的人,希望以下内容对您有所帮助!

总结一下我的个人发现:

  • 这个领域在开源和商业方面都有很多改进
  • 分销的复杂性通常比预期的要大
  • 建立在别人的背上,这是值得的!

当我为一家提供商业解决方案的公司 ( http://genuitec.com/sdc ) 工作时,我尝试在下面回答使用免费解决方案交付 Eclipse 的实用性。

所以,不用多说……

绝对最小的解决方案是从 Eclipse.org 下载一个 Eclipse 包,添加您想要的插件,在 eclipse.ini 中设置 -clean 参数,压缩目录并将其交给您的团队。只要您从内部更新站点添加了特性(并且 URL 保持不变),Eclipse 就能够从中进行更新。

这将是第一次工作,因为它很容易,所以这是大多数人开始做的事情。但它忽略了工具堆栈的生命周期。以下是我在帮助客户使用 Eclipse 工具时遇到的一些痛点:

  • Eclipse 包:您必须是 Eclipse/p2 专家才能设置和维护 Eclipse 包。EPP 工具允许您构建自己的包,但您需要大量有关 Eclipse 包、p2 和 EPP 工具的领域知识。一个开始的地方是http://wiki.eclipse.org/EPP/How_to_build_a_package_locally

  • 插件:查找插件需要大量寻找更新站点,然后您永远无法确定您获得了正确的二进制文件。有时更新站点会出现故障,或者当插件开发人员发布新的更新站点时,您会失去对 Eclipse 版本的支持。一个建议是制作更新站点的本地副本,以减少您遇到此类问题的风险。

  • Eclipse 更新:如果您希望您的团队切换 Eclipse 版本,您最终将只是在下一个版本上重建您的工具堆栈并让每个人都重新安装。仅运送拉链时,没有办法解决这个问题。

  • 插件更新:Eclipse 旨在继续安装新版本的插件,但在大型生产团队中可能会适得其反。只要您的团队不外出并添加自己的更新站点,更新站点的本地镜像就可以提供帮助。

  • 安全性:您是否需要阻止您的团队安装某些软件?需要签名工具怎么样?您必须编写插件来限制软件包的功能,并且您可能必须自己签署插件。PDE 版本对签名有一些支持。

  • 长期维护:在几年(或有时几个月)内重建工具堆栈几乎是不可能的,因为对不同版本的 Eclipse 和不同插件版本的支持在 Eclipse 生态系统中动态变化。保存 Eclipse 包的副本。买大硬盘。镜像您使用的更新站点。

  • 工作区设置:您可以将 Eclipse 部署到您的团队,但这只是该过程的第一步。工作区设置的自动化,例如首选项、项目、Checkstyle 或 PMD 配置,在减少您的团队准备工作所花费的时间方面大有帮助。此外,当您添加项目时,这些设置经常会发生变化,这会带来持续的管理麻烦。在传递 zip 时,我看到团队也会传递相应的 WIKI 页面或类似的东西。通常由每个开发人员确保他们遵循这些步骤。

  • 管理多个包:也许你有一个包给你的开发团队,另一个包给你的 QA 团队。然后你的开发团队成长并分成两组,工具需求略有不同,现在你的 QA 团队也需要多个包。然后您开始在 Eclipse 之上发布您自己的插件,这样您就可以管理另一个包。几年后,您将所有时间都花在构建 Eclipse 包上,甚至不经尝试就成为了 Eclipse/P2/Update Site 专家。显然,这里的解决方案是雇人为你做这件事。:)

  • SMS 分发:这适用于 zip 文件,但推出更新会变得混乱。通常,人们使用 SMS 来下拉第一次安装,然后开发人员的工作就是让它保持最新状态。

于 2013-01-18T22:35:48.590 回答
5

Eclipse 不是那些需要“安装”的应用程序之一,因为它可以被复制到一个目录结构中并设置了运行它的快捷方式(例如 BIRT 一体化发行版)。

我建议将它安装在一台机器上,安装所有插件,然后压缩目录并使用它分发到其他机器。

并且运行您自己的更新站点并不难,您只需要一个服务器,您只需要在其中安装您需要的插件版本,并在制作 zip 文件之前确保您的分发点指向该服务器。也没有什么可以阻止您的开发人员连接到另一个站点。

于 2008-12-09T00:01:41.353 回答
3

回答 Lokki 的原始问题,团队负责人可以创建团队自己的“发行版”,作为 .p2f 文件,其中包含插件 ID、更新站点和要使用的确切版本。

使用 (File -> Export -> Install -> Software Items to file) 准备插件列表文件 (*.p2f),

文件示例

<?xml version='1.0' encoding='UTF-8'?>
<?p2f version='1.0.0'?>
<p2f version='1.0.0'>
  <ius size='5'>
    <iu id='org.chromium.sdk.feature.group' name='ChromeDevTools SDK' version='0.3.9.201302091448'>
      <repositories size='1'>
        <repository location='http://www.tomotaro1065.com/nodeclipse/updates/'/>
      </repositories>
    </iu>
    <iu id='org.chromium.debug.feature.group' name='Chromium JavaScript Remote Debugger' version='0.3.9.201302091448'>
      <repositories size='1'>
        <repository location='http://www.tomotaro1065.com/nodeclipse/updates/'/>
      </repositories>
    </iu>
    <iu id='com.eclipsesource.jshint.feature.feature.group' name='JSHint Eclipse Integration' version='0.9.6.20130319-2128'>
      <repositories size='1'>
        <repository location='http://github.eclipsesource.com/jshint-eclipse/updates/'/>
      </repositories>
    </iu>
    <iu id='markdown.editor.feature.feature.group' name='Markdown Editor' version='0.2.3'>
      <repositories size='1'>
        <repository location='http://winterwell.com/software/updatesite/'/>
      </repositories>
    </iu>
    <iu id='org.nodeclipse.feature.group' name='Nodeclipse' version='0.2.0.201302091448'>
      <repositories size='1'>
        <repository location='http://www.tomotaro1065.com/nodeclipse/updates/'/>
      </repositories>
    </iu>
  </ius>
</p2f>

然后(文件->导入->从文件安装软件项)

导入 -> 从文件安装软件项

Eclipse Node.js IDE就是以这种方式组装的。

这个问题与 Eclipse IDE 有关:安装插件集

于 2013-04-04T08:41:56.393 回答
1

我可能对任何试图组装自己的 Eclipse 发行版以熟悉 Eclipse 打包项目http://www.eclipse.org/epp/的人感兴趣。为了建立一个私人更新站点,Sonatype 的 Nexus Professional 正是为了这个目的(商业许可)。

于 2010-05-02T01:13:13.870 回答
0

只需压缩 C:\eclipse\plugins 目录并分发。

只需确保开发人员使用“-clean”选项启动 Eclipse,以确保合并任何更改。

于 2008-12-09T00:27:52.707 回答