Quarkiverse Hub - Home of Community Extensions
source link: https://quarkus.io/blog/quarkiverse/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Quarkiverse Hub - Home of Community Extensions
By George Gastaldi
Today we’re proud to announce Quarkiverse Hub, a GitHub organization where any contributor can host their Quarkus extensions.
Hosting your extension in the Quarkiverse Hub makes it available to all Quarkus users through the Quarkus tooling.
So read on to discover more and find out how you can make your extension available to all Quarkus developers today!
Features
By hosting an extension under the Quarkiverse Hub, the following features are enabled:
Automated and secured publishing of your Maven releases to Maven Central
Registering and publishing artifacts to Maven central can become a daunting task. In Quarkiverse that is automated by GitHub Actions, requiring no manual interaction with any command line tools.
Releasing an artifact is as simple as opening a pull-request changing the .github/project.yml
file in the extension’s repository.
Once the pull-request is merged, a GitHub action is triggered invoking mvn release:prepare release:perform
and the extension is deployed to Maven central.
Automated cross-testing of your extension with Quarkus builds/releases
Quarkus Core releases happen constantly and keeping up with the latest changes before a release is performed is crucial. Quarkiverse extensions are built daily against the latest Quarkus core using the Quarkus Ecosystem CI and listed in the Quarkus Status page.
Consistent formatting and release of projects
The quarkiverse-parent
artifact (inherited by each extension in Quarkiverse) enables plugins that will format your source code to the same format used in Quarkus core.
Documentation aggregation
Get your versioned extension documentation automatically published (including guides)! Quarkiverse Hub uses Antora to aggregate each extension documentation in the Quarkiverse docs website. Although the layout is still a work in progress, you can check it out at https://quarkiverse.github.io/quarkiverse-docs/
Automated inclusion in the upcoming Extension registry
The Extension registry is still a work in progress (https://registry.quarkus.io), but the gist of it is to have a single place to browse for extensions (including https://code.quarkus.io, command line and IDE plugins).
Requirements
In order to automate extension releases and publication of docs, there are some rules that need to be followed for projects under the Quarkiverse organization:
-
The extension repository should be named
quarkiverse-<project>
-
A Quarkiverse extension MUST belong to the
io.quarkiverse.<project>
groupId -
The root pom.xml MUST inherit from
io.quarkiverse:quarkiverse-parent
-
A Quarkiverse extension has the following structure:
├── deployment (1) ├── runtime ├── integration-test ├── docs (2) ├── pom.xml ├── LICENSE └── README
For more information, look at the Quarkiverse Wiki
How do I sign-up?
Create an Extension Proposal ticket in the Quarkus issue tracker (first check if the extension you’re proposing is not created yet) and let us know if you want to lead the development of this extension by commenting on the issue.
The Quarkus team will get you started with the boring stuff of setting up a brand new repository and deployment scripts, so you’ll have fun coding it.
As usual, we’re always improving, so take a look at Joining Quarkiverse for the process we are currently using.
What extensions are in Quarkiverse already?
Check out the extensions that are already there.
Stay tuned for the latest info about Quarkiverse in the Quarkiverse Wiki
Can I reuse this setup for an extension outside the Quarkiverse organization?
Yes, right now we’re in the process of documenting the extra steps to make your extension releases visible to our tooling in this case.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK