operator-framework / operator-framework/java-operator-sdk
Marking public APIs with `@Public` annotation
未关闭
- 主要语言
- Java
- 星标
- 944
- 派生
- 242
- 平均合并
- 1 天 4 小时
- 30 天内合并 PR
- 43
描述
In order to better communicate - in terms of semver - which our APIs are considered public we should introduce @Public annotation, and mark appropriate classes / methods etc. Note this is source level compatibility, not binary.
Note that there are libraries that provide such annotations like:
org.apiguardian:apiguardian-api:
@API(status = Status.STABLE)
@API(status = Status.EXPERIMENTAL)
@API(status = Status.INTERNAL)
@API(status = Status.MAINTAINED)
@API(status = Status.DEPRECATED)
For reference, Flink's own @Public/@PublicEvolving/@Experimental/@Internal in org.apache.flink.annotation are the same idea, but they're internal to Flink (and shaded), so not meant to be pulled in as a standalone dependency.
Notes
- we have already
@Experimentalannotation. - this could be done an an inverse way, so marking internal API, butin our case would be probably harder to do (or more code)
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
评估
这个 Issue 还没有评估数据。