在 Eclipse 中添加 API Baseline

2022-09-04 21:44:16

在日食源库的编译中。我有“尚未设置 API 基线...”错误。

enter image description here

我试图添加API基线,但我不知道如何制作或添加它。

API 基准的用途是什么,如何添加或创建一个?

enter image description here

enter image description here


答案 1

我尝试回答“API 基线的用途是什么,...”问题的一部分。

API Baseline 是 PDE Tools/API Tools 的一个概念。它们旨在帮助您维护其他人可以使用的插件。它们可帮助您创建兼容的 API 版本。

问题:

  1. 您创建插件并向公众发布版本 1。
  2. 数以百万计的人将使用您的插件并创建自己的代码,该代码取决于您的插件的API。
  3. 您向公众发布版本 2。错误地更改了插件的API。
  4. 数以百万计的人更新到新版本,并且必须调整他们的代码。数以千计的程序失败。人们很伤心。

解决方案:

  1. 您创建插件,注释其API并向公众发布版本1。
  2. 数以百万计的人将使用您的插件并创建自己的代码,该代码取决于您的插件的API。
  3. 您将插件的版本 1 声明为 API 基线,您的代码更改会自动与该基线进行比较。在您发布插件或运行测试之前,API 中的任何中断都会呈现给您。您发布了版本 2,无需任何 API 更改。
  4. 数以百万计的人可以在他们的应用程序中更新您的插件,因为新的插件版本与以前的插件版本是二进制兼容的。
  5. 您声明了插件的版本 2....

总结

如果您开发一个仅供个人使用的插件,并且对维护兼容的API不感兴趣,则可以按照建议禁用警告。

当您为社区开发插件时,例如eclipse插件本身,您必须将API的不兼容性保持在最低限度。然后,您将遵循建议,并在开发4.3时将基线设置为4.2。API工具将帮助您使4.3成为所有当前4.2用户的乐趣。

请注意,API工具适用于其他人将使用的插件的开发人员。它们不会针对这些插件的用户。


答案 2

引用Eclipse站点的话,“API基准定义了您要比较开发工作区捆绑包的状态,以便实现二进制兼容性,捆绑包版本号和@since标记。例如,如果您正在为Eclipse 3.4开发捆绑包,则可以使用Eclipse 3.3作为基准。

因此,基本上这意味着您正在构建捆绑包(插件项目,可以是OSGi捆绑包或Eclipse插件),这些捆绑包需要其他捆绑包(依赖捆绑包/插件+ OSGi框架(核心和纲要API /服务)),您可以通过“API基准”来指定它,该基准保证了它们(依赖关系)的存在类似于“配置文件”(例如IBM WAS中的Liberty配置文件)。

作为一种解决方法,您可以避免通过“插件首选项”为工作区设置API基线,将其设置为“警告”或“忽略”。这允许您编译插件(OSGi)项目。

编号: http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.pde.doc.user%2Freference%2Fapi-tooling%2Fpreferences%2Fref-baselines.htm


推荐