quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.34k stars 2.55k forks source link

CLI - Config command - missing help text and unexpedted error stacktraces #41131

Open rsvoboda opened 2 weeks ago

rsvoboda commented 2 weeks ago

Describe the bug

CLI command for Config has missing help text and help for sub-commands throws stacktrace CLI command for Config was introduced in 3.9 - https://quarkus.io/blog/quarkus-3-9-1-released/#cli-command-for-config

CC @radcortez as you worked on https://github.com/quarkusio/quarkus/pull/34493

quarkus -version
3.11.1

set has no description:

quarkus --help
...
  config                  Manage Quarkus configuration
    set
    encrypt, enc          Encrypt Secrets using AES/GCM/NoPadding algorithm by
                            default
...

Help goes directly to set sub-command and complains about missing parameter when I just want help text:

quarkus config --help
[ERROR] ❗  Missing required option: '--name=<name>'

Usage: quarkus config set [-ek] [--verbose] [-a=<value>] -n=<name>

See 'quarkus config set --help' for more information.

Error when wanting help for enc sub-command:

quarkus config enc --help
2024-06-11 21:45:14,200 ERROR [io.qua.run.Application] (main) Failed to start application (with profile [prod]): picocli.CommandLine$MissingParameterException: Missing required option: '--secret=<secret>'
    at picocli.CommandLine$MissingParameterException.create(CommandLine.java:18673)
    at picocli.CommandLine$MissingParameterException.access$21200(CommandLine.java:18661)
    at picocli.CommandLine$Interpreter.validateConstraints(CommandLine.java:13657)
    at picocli.CommandLine$Interpreter.parse(CommandLine.java:13620)
    at picocli.CommandLine$Interpreter.processSubcommand(CommandLine.java:13915)
    at picocli.CommandLine$Interpreter.processArguments(CommandLine.java:13811)
    at picocli.CommandLine$Interpreter.parse(CommandLine.java:13597)
    at picocli.CommandLine$Interpreter.processSubcommand(CommandLine.java:13915)
    at picocli.CommandLine$Interpreter.processArguments(CommandLine.java:13811)
    at picocli.CommandLine$Interpreter.parse(CommandLine.java:13597)
    at picocli.CommandLine$Interpreter.parse(CommandLine.java:13565)
    at picocli.CommandLine$Interpreter.parse(CommandLine.java:13460)
    at picocli.CommandLine.parseArgs(CommandLine.java:1552)
    at io.quarkus.cli.QuarkusCli.checkMissingCommand(QuarkusCli.java:165)
    at io.quarkus.cli.QuarkusCli.run(QuarkusCli.java:109)
    at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:132)
    at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
    at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
    at io.quarkus.cli.Main.main(Main.java:9)

Error when wanting help for set sub-command:

quarkus config set --help
2024-06-11 21:45:27,514 ERROR [io.qua.run.Application] (main) Failed to start application (with profile [prod]): picocli.CommandLine$MissingParameterException: Missing required option: '--name=<name>'
    at picocli.CommandLine$MissingParameterException.create(CommandLine.java:18673)
    at picocli.CommandLine$MissingParameterException.access$21200(CommandLine.java:18661)
    at picocli.CommandLine$Interpreter.validateConstraints(CommandLine.java:13657)
    at picocli.CommandLine$Interpreter.parse(CommandLine.java:13620)
    at picocli.CommandLine$Interpreter.processSubcommand(CommandLine.java:13915)
    at picocli.CommandLine$Interpreter.processArguments(CommandLine.java:13811)
    at picocli.CommandLine$Interpreter.parse(CommandLine.java:13597)
    at picocli.CommandLine$Interpreter.processSubcommand(CommandLine.java:13915)
    at picocli.CommandLine$Interpreter.processArguments(CommandLine.java:13811)
    at picocli.CommandLine$Interpreter.parse(CommandLine.java:13597)
    at picocli.CommandLine$Interpreter.parse(CommandLine.java:13565)
    at picocli.CommandLine$Interpreter.parse(CommandLine.java:13460)
    at picocli.CommandLine.parseArgs(CommandLine.java:1552)
    at io.quarkus.cli.QuarkusCli.checkMissingCommand(QuarkusCli.java:165)
    at io.quarkus.cli.QuarkusCli.run(QuarkusCli.java:109)
    at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:132)
    at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
    at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
    at io.quarkus.cli.Main.main(Main.java:9)

Output of uname -a or ver

macOS

Output of java -version

Java 21

Quarkus version or git rev

3.11.1

quarkus-bot[bot] commented 2 weeks ago

/cc @brunobat (opentelemetry,tracing), @ebullient (cli), @maxandersen (cli), @radcortez (config,opentelemetry,tracing)