sdkman / sdkman-cli

The SDKMAN! Command Line Interface
https://sdkman.io
Apache License 2.0
6.08k stars 629 forks source link

Bug: `sdk help <subcommand>` doesn't work #1206

Closed talbenari-okta closed 1 year ago

talbenari-okta commented 1 year ago

Bug report

According to the docs:

[...] You can add qualifier to this command to get help about a specific sub-command.

$ sdk help install

In reality, sdk help install just outputs the same thing as sdk help. Either the docs are wrong/outdated or the sdk help command is broken.

System info SDKMAN! version: 5.18.1 OS: macOS Ventura 13.4 Shell: zsh 5.9

marc0der commented 1 year ago

@talbenari-okta It might be helpful if you print what you are seeing.

Either the docs are wrong/outdated, or the sdk help command is broken.

Highly unlikely because all regression tests are passing for all supported platforms.

On my machine, I see the following:

❯ sdk help

NAME
    sdk - The command line interface (CLI) for SDKMAN!

SYNOPSIS
    sdk <subcommand> [candidate] [version]

DESCRIPTION
    SDKMAN! is a tool for managing parallel versions of multiple JVM related
    Software Development Kits on most Unix based systems. It provides a
    convenient Command Line Interface (CLI) and API for installing, switching,
    removing and listing Candidates.

SUBCOMMANDS & QUALIFIERS
    help         [subcommand]
    install      <candidate> [version] [path]
    uninstall    <candidate> <version>
    list         [candidate]
    use          <candidate> <version>
    config       no qualifier
    default      <candidate> [version]
    home         <candidate> <version>
    env          [init|install|clear]
    current      [candidate]
    upgrade      [candidate]
    version      no qualifier
    offline      [enable|disable]
    selfupdate   [force]
    update       no qualifier
    flush        [tmp|metadata|version]

EXAMPLES
    sdk install java 17.0.0-tem
    sdk help install

❯ sdk help install

NAME
    sdk install - sdk subcommand to install a candidate version

SYNOPSIS
    sdk install <candidate> [version] [path]

DESCRIPTION
    Invoking this subcommand with only the candidate as parameter will install
    the currently known default version for that candidate. Provide a second
    qualifier to install a specific non-default version. Provide a third
    optional qualifier to add an already installed local version. This final
    qualifier is the absolute local path to the base directory of the SDK to
    be added. The local version will appear as an installed version of the
    candidate. The version may not conflict with an existing version, installed
    or not.

EXIT CODE
    The subcommand will return a non-zero exit code for versions not found or
    for an invalid path.

MNEMONIC
    i - may be used in place of the install subcommand.

EXAMPLES
    sdk install java
    sdk install java 17.0.0-tem
    sdk install java 11-local /usr/lib/jvm/java-11-openjdk
marc0der commented 1 year ago

No response, too little information and can't replicate the issue. Closing this issue.