/quarkus-extension-catalog

Quarkus Extension Catalog

Primary LanguageJavaApache License 2.0Apache-2.0

Quarkus Extension Catalog

Catalog

A catalog is a local directory (which can be cloned from a Git repository) with the following structure:

.
├── extensions
│   └── <any_extension>.json
└── platforms.json

Extensions

For maintenance purposes, each extension is declared in its own file and has the following structure:

{
  "group-id": "org.apache.myfaces.core.extensions.quarkus",
  "artifact-id": "myfaces-quarkus",
  "releases": [
    {
      "version": "2.3-next-M2",
      "quarkus-core":  "1.3.1.Final"
    }
  ]  
}

The Quarkus extension MUST be released to a Maven repository. The descriptor states the Maven coordinates and the supported quarkus core version for each release.

Platforms

Platforms are a set of extensions and MUST exist as a BOM. Since the order is important, it is declared as a single JSON (ordered by priority - the preferred BOMs in the top)

[
  {
    "group-id": "io.quarkus",
    "artifact-id": "quarkus-universe-bom",
    "releases": [
      {
        "version": "1.4.2.Final"
      },      
      {
        "version": "1.3.2.Final"
      }
    ]    
  },
  {
    "group-id": "io.quarkus",
    "artifact-id": "quarkus-bom",
    "artifact-id-json": "quarkus-bom-descriptor-json",
    "releases": [
      {
        "version": "1.5.0.Final"
      },      
      {
        "version": "1.4.2.Final"
      }
    ]
    
  }
]

App

Generates a Docker image to serve the produced registry.json