quarkus-extension manifests and their formats ?
See original GitHub issueIn https://github.com/quarkusio/quarkus/pull/4423 we are pushing towards a model where instead of a singular manually maintained extensions.json
in core we’ll have each extension contain a manifest file. Then each manifest file will be used as input to a platform definition - of which one part will be the list of extensions.
For the manifest the current PR suggests a file per extension jar called META-INF/quarkus-extension.json
with a content similar to this:
{
"name": "RESTEasy - Jackson",
"labels": [
"resteasy-jackson",
"jaxrs-json",
"resteasy-json",
"resteasy",
"jaxrs",
"json",
"jackson"
],
"groupId": "io.quarkus",
"artifactId": "quarkus-resteasy-jackson"
}
question is just if json is the “right” format to have ? Would using .properties or yaml be better ?
In addition I see we have a bunch of other files:
quarkus-config-roots.list
io.quarkus.vertx.core.runtime.config.VertxConfiguration
quarkus-extension.properties
:
#Generated by extension-descriptor
#Mon Oct 14 11:21:28 CEST 2019
deployment-artifact=io.quarkus\:quarkus-vertx-core-deployment\:999-SNAPSHOT
quarkus-javadoc.properties
:
io.quarkus.vertx.core.runtime.config.PfxConfiguration.path=Path to the key file (PFX format)
io.quarkus.vertx.core.runtime.config.EventBusConfiguration.reusePort=Whether or not to reuse the port.
io.quarkus.vertx.core.runtime.config.VertxConfiguration.classpathResolving=Enables or disabled the Vert.x classpath resource resolver.
...
...
Do we need all these to be in ~4 different files with 3 different formats ?
Issue Analytics
- State:
- Created 4 years ago
- Comments:55 (55 by maintainers)
Now, does it matter that different parts of the build generate different descriptors? Not sure. But they do get mostly generated at different build phases (APT, extension maven plugin) and would be impossible to generate at the same time, so it’s justified to have them in separate files when producing them.
Now, if we absolutely must consolidate them, we could consolidate them in the (generated) extension descriptor (that we’re discussing here), by aggregating all those generated files into a single one at some point.
Is it useful? Not sure. In general I don’t mind what files get generated as long as I never have to edit them myself.
I have some concern about extension identifier (feature name from the build step, should be the artifact name without the quarkus prefix) and config root (that should be but is not always the same of the identifier). I think it must be specified somewhere, maybe this should aslo be added in the JSON file: