Skip to content

[BUG] CLI when used with incorrect flag, prints unecessary information and hidden flags #346

@sayan-biswas

Description

@sayan-biswas

Is there an existing issue for this?

  • I have searched the existing issues

Kubernetes Version

No response

Shipwright Version

0.15.0

Current Behavior

Shipwright CLI when used with undefined flag prints the hidden flags as usage instead of shp help usage output.

Output:

❯ shp -version
flag provided but not defined: -version
Usage of shp:
  -add_dir_header
    	If true, adds the file directory to the header of the log messages
  -alsologtostderr
    	log to standard error as well as files (no effect when -logtostderr=true)
  -log_backtrace_at value
    	when logging hits line file:N, emit a stack trace
  -log_dir string
    	If non-empty, write log files in this directory (no effect when -logtostderr=true)
  -log_file string
    	If non-empty, use this log file (no effect when -logtostderr=true)
  -log_file_max_size uint
    	Defines the maximum size a log file can grow to (no effect when -logtostderr=true). Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
  -logtostderr
    	log to standard error instead of files (default true)
  -one_output
    	If true, only write logs to their native severity level (vs also writing to each lower severity level; no effect when -logtostderr=true)
  -skip_headers
    	If true, avoid header prefixes in the log messages
  -skip_log_headers
    	If true, avoid headers when opening log files (no effect when -logtostderr=true)
  -stderrthreshold value
    	logs at or above this threshold go to stderr when writing to files and stderr (no effect when -logtostderr=true or -alsologtostderr=true) (default 2)
  -v value
    	number for the log level verbosity
  -vmodule value
    	comma-separated list of pattern=N settings for file-filtered logging
ERROR: flag provided but not defined: -version

Expected Behavior

shp -version (undefined flag) should print the error as well as the usage of shp cli.

ERROR: flag provided but not defined: -version

Command-line client for Shipwright's Build API.

Usage:
  shp [command] [resource] [flags]
  shp [command]

Available Commands:
  build                Manage Builds
  buildrun             Manage BuildRuns
  buildstrategy        Manage namespaced BuildStrategies
  clusterbuildstrategy Manage cluster-scoped BuildStrategies
  version              version

Flags:
      --kubeconfig string        Path to the kubeconfig file to use for CLI requests.
  -n, --namespace string         If present, the namespace scope for this CLI request
      --request-timeout string   The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")

Use "shp [command] --help" for more information about a command.
exit status 1

Steps To Reproduce

  1. Execute shipwright cli with the following command: shp -version
  2. Observer the output

Anything else?

No response

Metadata

Metadata

Assignees

Labels

kind/bugCategorizes issue or PR as related to a bug.

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions