-
Bug
-
Resolution: Unresolved
-
Major
-
3.15-Interstellar.GA, 3.15.1.ER1, 3.15.1.ER2, 3.15.1.CR1
-
False
-
None
-
False
-
+
-
-
---
-
-
In extension metadata, quarkus-tls-registry should declare its CLI plugin as fatjar, as the jar itself is shaded.
Right now, without any configuration, CLI's jbang extension discovery mechanism will try to resolve all the CLI plugin's dependencies without the @fatjar classifier.
For example, notice the missing @fatjar classifier in the cli-plugins field of rh-quarkus-platform-3.15.1.GA-maven-repository/maven-repository/io/quarkus/quarkus-tls-registry/3.15.1.redhat-00003/quarkus-tls-registry-3.15.1.redhat-00003.jar::META-INF/quarkus-extension.yaml 3.15.1.CR1 config:
--- artifact: "io.quarkus:quarkus-tls-registry:3.15.1.redhat-00003" name: "TLS certificate registry" metadata: categories: - "web" status: "stable" unlisted: true config: - "quarkus.tls." cli-plugins: - "tls: io.quarkus:quarkus-tls-registry-cli:3.15.1.redhat-00003" built-with-quarkus-core: "3.15.1.redhat-00003" requires-quarkus-core: "[3.15,)" minimum-java-version: "17" scm-url: "https://github.com/quarkusio/quarkus" extension-dependencies: - "io.quarkus:quarkus-vertx" - "io.quarkus:quarkus-netty" - "io.quarkus:quarkus-mutiny" - "io.quarkus:quarkus-smallrye-context-propagation" - "io.quarkus:quarkus-virtual-threads" - "io.quarkus:quarkus-arc" - "io.quarkus:quarkus-core" description: "An internal TLS certificate registry."
Since this is not annotated as fatjar, jbang attempts to resolve the dependency tree of the GAV's pom, despite the artifact being a shaded jar, resulting in bugs like QUARKUS-5215.
Steps to reproduce
acquire the product Maven repository zip file and unzip it, then
wget -O /home/hudson/.m2/settings.xml https://gitlab.cee.redhat.com/quarkus-qe/jenkins-jobs/-/raw/main/jobs/rhbq/files/settings.xml unzip -qo quarkus-maven-repo.zip sed -i -e 's|/path_to_repo|$PWD/rh-quarkus-platform-3.15.1.GA-maven-repository/maven-repository/|' /home/hudson/.m2/settings.xml mkdir -p /home/hudson/.quarkus/ cat <<EOF > ~/.quarkus/config.yaml --- registries: - registry-3-15-1-redhat-00002.apps.ocp-c1.prod.psi.redhat.com: update-policy: "always" descriptor: artifact: "com.redhat.psi.prod.ocp-c1.apps.registry-3-15-1-redhat-00002:quarkus-registry-descriptor::json:1.0-SNAPSHOT" maven: repository: url: "https://registry-3-15-1-redhat-00002.apps.ocp-c1.prod.psi.redhat.com/maven" - registry.quarkus.redhat.com - registry.quarkus.io EOF jbang config set run.repos file://${PATH_TO_UNZIPPED_REPO} quarkus create app reproducer --stream=3.15 -x=quarkus-rest -Dquarkus.analytics.disabled=true cd reproducer quarkus tls generate-quarkus-ca --truststore -r --verbose
- causes
-
QUARKUS-5183 [3.15.1.CR1] Productized RHBQ TLS CLI plugin cannot be discovered by Quarkus CLI
- New