Quarkiverse Hub - 社区扩展之家

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

quarkiverse repos
将您的扩展托管在 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 提供了 更多详细信息和故障排除技巧

quarkiverse release
针对 Quarkus 构建/版本的扩展进行自动交叉测试

Quarkus 核心版本会不断发布,在执行发布之前跟上最新的更改至关重要。Quarkiverse 扩展每天都会针对最新的 Quarkus 核心 使用 Quarkus Ecosystem CI 进行构建,并在 Quarkus Status 页面上列出。

项目的一致格式和发布

quarkiverse-parent 工件(由 Quarkiverse 中的每个扩展继承)支持插件,这些插件会将您的源代码格式化为与 Quarkus 核心中使用的相同格式。

文档聚合

自动发布版本化的扩展文档(包括指南)!Quarkiverse Hub 使用 Antora 将每个扩展文档聚合到 Quarkiverse 文档网站。虽然布局仍在开发中,但您可以访问 https://quarkiverse.github.io/quarkiverse-docs/ 进行查看。

quarkiverse guides
自动包含在即将推出的扩展注册表中

扩展注册表仍在开发中(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
quarkiverse way

如何注册?

Quarkus issue tracker 中创建一个**扩展提案** ticket(首先检查您提议的扩展是否尚未创建),并通过评论 issue 来告知我们您是否想领导此扩展的开发。

Quarkus 团队将为您处理设置全新存储库和部署脚本的繁琐工作,这样您就可以专注于愉快的编码。

像往常一样,我们一直在改进,因此请查看 Joining Quarkiverse 以了解我们当前使用的流程。

Quarkiverse 中已经有哪些扩展了?

请继续关注 Quarkiverse Wiki 中有关 Quarkiverse 的最新信息。

我能否为 Quarkiverse 组织之外的扩展重用此设置?

是的,目前我们正在记录额外的步骤,以便在此情况下使您的扩展版本对我们的工具可见。