Quarkiverse Hub - 社区扩展之家
今天,我们很自豪地宣布 Quarkiverse Hub,这是一个 GitHub 组织,任何贡献者都可以在其中托管他们的 Quarkus 扩展。

将您的扩展托管在 Quarkiverse Hub 中,所有 Quarkus 用户都可以通过 Quarkus 工具使用它。 |
请继续阅读以发现更多内容,并了解如何让您的扩展立即可供所有 Quarkus 开发人员使用!
特性
通过在 Quarkiverse Hub 下托管扩展,启用了以下功能:
- 自动安全地将您的 Maven 版本发布到 Maven Central
-
注册和发布工件到 Maven Central 可能是一项艰巨的任务。在 Quarkiverse 中,这通过 GitHub Actions 进行了自动化,无需与任何命令行工具进行手动交互。发布工件就像打开一个拉取请求来更改扩展存储库中的
.github/project.yml
文件一样简单。一旦拉取请求被合并,就会触发一个 GitHub Action,调用mvn release:prepare release:perform
,扩展将被部署到 Maven Central。Quarkiverse wiki 提供了 更多详细信息和故障排除技巧。

- 针对 Quarkus 构建/版本的扩展进行自动交叉测试
-
Quarkus 核心版本会不断发布,在执行发布之前跟上最新的更改至关重要。Quarkiverse 扩展每天都会针对最新的 Quarkus 核心 使用 Quarkus Ecosystem CI 进行构建,并在 Quarkus Status 页面上列出。
- 项目的一致格式和发布
-
quarkiverse-parent
工件(由 Quarkiverse 中的每个扩展继承)支持插件,这些插件会将您的源代码格式化为与 Quarkus 核心中使用的相同格式。 - 文档聚合
-
自动发布版本化的扩展文档(包括指南)!Quarkiverse Hub 使用 Antora 将每个扩展文档聚合到 Quarkiverse 文档网站。虽然布局仍在开发中,但您可以访问 https://quarkiverse.github.io/quarkiverse-docs/ 进行查看。

- 自动包含在即将推出的扩展注册表中
-
扩展注册表仍在开发中(https://registry.quarkus.io),但其要点是提供一个单一的地方来浏览扩展(包括 https://code.quarkus.io、命令行和 IDE 插件)。
要求
为了自动化扩展发布和文档发布,Quarkiverse 组织下的项目需要遵循一些规则:
-
扩展存储库应命名为
quarkus-<project>
-
Quarkiverse 扩展必须属于
io.quarkiverse.<project>
groupId -
根 pom.xml 必须继承自
io.quarkiverse:quarkiverse-parent
-
Quarkiverse 扩展具有以下结构:
├── deployment (1) ├── runtime ├── integration-test ├── docs (2) ├── pom.xml ├── LICENSE └── README
1 | 包含扩展类的 **deployment**、**runtime** 和 **integration-test** 目录。有关更多详细信息,请参阅 如何使用 Maven 创建新的扩展模块。 |
2 | docs(可选):文档应遵循 Antora 的标准文件和目录集。请在此处查看示例:here。 |
有关更多信息,请参阅 Quarkiverse Wiki |

如何注册?
在 Quarkus issue tracker 中创建一个**扩展提案** ticket(首先检查您提议的扩展是否尚未创建),并通过评论 issue 来告知我们您是否想领导此扩展的开发。
Quarkus 团队将为您处理设置全新存储库和部署脚本的繁琐工作,这样您就可以专注于愉快的编码。
像往常一样,我们一直在改进,因此请查看 Joining Quarkiverse 以了解我们当前使用的流程。
Quarkiverse 中已经有哪些扩展了?
查看已经存在的扩展。
请继续关注 Quarkiverse Wiki 中有关 Quarkiverse 的最新信息。