首页 > 解决方案 > 为无源代码的Eclipse插件提供javadoc插件

问题描述

我制作了一个 RCP 应用程序,由 Eclipse RCP 平台和我自己的大约 20 个 Eclipse 插件组成(现在我们将其命名为 SDK)。现在我需要把这个SDK提供给其他开发者,他们会制作插件,使用这个SDK来扩展应用程序的功能。因此,我使用 Tycho 构建了插件,并将二进制文件提供给初级人员,以在他们的 IDE 中将其用作目标平台。但显然,开发人员在 Eclipse IDE 中看不到 javadoc,这使得他们的工作更加困难。不幸的是,我无法向他们提供这些包的源代码,因此提供源包的明显解决方案是不可接受的。我可以单独生成 javadoc 并告诉开发人员在 IDE 中手动附加它,但是插件很多,IDE 不会将 javadoc 附加到所需的包。

问题是,一般来说,制作没有源代码的仅 javadoc 捆绑包的正确方法是什么,Eclipse IDE 会自动将其用作 javadoc 源代码?

我设法创建了插件(如com.acme.sdk.doc),其中为我的平台生成 javadoc 并使用tycho-document-bundle存储。然后我将这个插件安装到 Eclipse IDE 中,我的目标平台在其中设置,希望这个包中的 javadoc 目录有一些魔力。这行不通。然后我让 tycho 也为 javadoc 生成 TOC,并通过org.eclipse.help.toc扩展点注册了这个 TOC。然后文档显示在 Eclipse 帮助中,但是当将光标悬停在我的 SDK 中的类上时,Java 编辑器仍然说没有附加 javadoc。最后尝试我也注册了带有org.eclipse.pde.core.javadoc扩展点的javadoc,但这也不起作用。我也知道这一点是否有任何方法可以为 Eclipse 中的非 JRE 包自动化 Javadoc 附件?类似的问题。有了 tycho 插件和 PDE 扩展点,我觉得我很接近,只是找不到让 IDE 识别这个包的方法。

到目前为止,我发现的唯一方法是为每个平台包生成 javadoc 并将其放置在doc目录中的每个包中 - 这样 Eclipse IDE 神奇地找到了它。这里的缺点是我必须构建两个版本的 SDK:一个用于没有文档的生产版本,一个用于开发。

标签: eclipseeclipse-plugineclipse-rcptycho

解决方案


好吧,我想出了问题所在,所以我会自己发布答案。包含 javadoc 和org.eclipse.pde.core.javadoc扩展定义的插件必须位于记录插件所在的同一目标平台中。

之前我把所有的SDK插件都放到了初级IDE的Target Platform中,但是包含javadocs的插件放到了Eclipse的dropins目录下。IDE 安装它,帮助贡献出现,但 PDE 不会解析 javadoc。一旦我将 javadoc 插件添加到目标平台,解析就开始正常工作。


推荐阅读