代码之家  ›  专栏  ›  技术社区  ›  Loki

创建Eclipse“发行版”?

  •  11
  • Loki  · 技术社区  · 16 年前

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

    5 回复  |  直到 16 年前
        1
  •  19
  •   Jed Anderson    9 年前

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

    总结一下我的个人发现:

    • 无论是在开源领域还是在商业领域,这一领域都有很多改进
    • 分布的复杂性往往比预期的要大

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

    所以,没有进一步的告别。。。

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

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

    • 插件:寻找插件需要大量搜索更新站点,然后你永远无法确定你得到了完全正确的二进制文件。有时更新站点宕机,或者插件开发人员发布新的更新站点时,您失去了对Eclipse版本的支持。一个建议是制作更新站点的本地副本,以减轻您对此类问题的暴露。

    • Eclipse更新:如果您希望您的团队切换Eclipse版本,那么您只需在下一个版本上重新构建工具堆栈,然后让所有人重新安装。如果只是运送一个拉链,这是没有办法的。

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

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

    • 工作区设置:您可以向您的团队部署Eclipse,但这只是过程中的第一步。工作区设置的自动化,例如首选项、项目、Checkstyle或PMD配置,大大减少了团队准备工作的时间。此外,当您添加项目时,这些设置会经常更改,从而造成持续的管理麻烦。当传递zip时,我看到团队也传递相应的WIKI页面或类似的内容。通常由每个开发人员来确保他们遵循这些步骤。

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

        2
  •  5
  •   paxdiablo    16 年前

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

        3
  •  3
  •   Community CDub    8 年前

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

    文件示例

    <?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>
    

    Import -> Install Software Item from file

    Eclipse Node.js IDE 是这样组装的。

    Eclipse IDE: install set of plugins

        4
  •  1
  •   javier.castanon    15 年前

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

        5
  •  0
  •   rbrayb    16 年前

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