quarkusio / registry.quarkus.io

Quarkus Extension Registry application
https://registry.quarkus.io
Apache License 2.0
10 stars 11 forks source link

Add artifacts with classifiers to the metadata.xml #17

Closed aloubyansky closed 3 years ago

aloubyansky commented 3 years ago

There is currently an issue with a cache refresh on the client side that I discovered using the following command

[aloubyansky@lenora test-devtools]$ qs create -x logback
Creating an app (default project type, see --help).
Refreshing the local extension catalog cache of registry.quarkus.io
<skip>
Downloading from registry.quarkus.io: https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-non-platform-extensions/1.0-SNAPSHOT/maven-metadata.xml
Downloaded from registry.quarkus.io: https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-non-platform-extensions/1.0-SNAPSHOT/maven-metadata.xml (740 B at 1.7 kB/s)
<skip>
[ERROR] ❗  Cannot find a dependency matching 'logback', maybe a typo?
[ERROR] ❗  Unable to create project: Failed to create project because of invalid extensions
[aloubyansky@lenora test-devtools]$ qs create -x logback --refresh
Creating an app (default project type, see --help).
Refreshing the local extension catalog cache of registry.quarkus.io
<skip>
Downloading from registry.quarkus.io: https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-non-platform-extensions/1.0-SNAPSHOT/maven-metadata.xml
Downloaded from registry.quarkus.io: https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-non-platform-extensions/1.0-SNAPSHOT/maven-metadata.xml (740 B at 1.7 kB/s)
Downloading from registry.quarkus.io: https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-non-platform-extensions/1.0-SNAPSHOT/quarkus-non-platform-extensions-1.0-SNAPSHOT-2.0.3.Final.json
Downloaded from registry.quarkus.io: https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-non-platform-extensions/1.0-SNAPSHOT/quarkus-non-platform-extensions-1.0-SNAPSHOT-2.0.3.Final.json (166 kB at 119 kB/s)
Downloading from registry.quarkus.io: https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-non-platform-extensions/1.0-SNAPSHOT/quarkus-non-platform-extensions-1.0-SNAPSHOT-2.1.0.CR1.json
Downloaded from registry.quarkus.io: https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-non-platform-extensions/1.0-SNAPSHOT/quarkus-non-platform-extensions-1.0-SNAPSHOT-2.1.0.CR1.json (165 kB at 595 kB/s)
-----------
selected extensions:
- io.quarkiverse.logging.logback:quarkus-logging-logback

As can be seen the local cache was refreshed on the first attempt but it didn't pull in the actual updated JSON catalog of non-platform extensions. Running the command with --refresh though (which physically removes the files from the local repo) did work.

It appears we are missing artifacts with classifiers in the following metadata.xml: https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-platforms/1.0-SNAPSHOT/maven-metadata.xml and https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-non-platform-extensions/1.0-SNAPSHOT/maven-metadata.xml

The existing snapshotVersion elements are ok. It's just not a complete list. There should be snapshotVersion with the classifier element for each supported quarkus version. Kind of like this https://oss.sonatype.org/content/repositories/snapshots/io/quarkus/quarkus-cli/999-SNAPSHOT/maven-metadata.xml