Eclipse PDT 中的 “API Baseline” 是什么

2022-09-03 07:09:45

自从升级到Eclipse 3.7以来,Eclipse PDE插件希望我为所有Eclipse插件项目指定一个“API Baseline”。

然而,似乎没有文档可以真正解释“API基线”在这里代表什么,以及它的用途。

有人可以解释一下吗?


答案 1

API 基准旨在帮助您维护其他人可以使用的插件。API 工具可帮助您创建兼容的 API 版本。点击Sumit Singh发布的链接,获取有关如何使用它们的解释。

问题:

  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

来自 PDE API 工具用户指南

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


推荐