diff options
author | wxiaoguang <wxiaoguang@gmail.com> | 2023-07-21 17:28:19 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-21 17:28:19 +0800 |
commit | d0dbe52e76f3038777c3b50066e3636105387ca3 (patch) | |
tree | 4c159ed98a365300b6145bde03a06c29dcd21794 /cmd/cert.go | |
parent | 840830b655a65c0763e3fd4bd0ced9256d2081a5 (diff) | |
download | gitea-d0dbe52e76f3038777c3b50066e3636105387ca3.tar.gz gitea-d0dbe52e76f3038777c3b50066e3636105387ca3.zip |
Refactor to use urfave/cli/v2 (#25959)
Replace #10912
And there are many new tests to cover the CLI behavior
There were some concerns about the "option order in hook scripts"
(https://github.com/go-gitea/gitea/pull/10912#issuecomment-1137543314),
it's not a problem now. Because the hook script uses `/gitea hook
--config=/app.ini pre-receive` format. The "config" is a global option,
it can appear anywhere.
----
## ⚠️ BREAKING ⚠️
This PR does it best to avoid breaking anything. The major changes are:
* `gitea` itself won't accept web's options: `--install-port` / `--pid`
/ `--port` / `--quiet` / `--verbose` .... They are `web` sub-command's
options.
* Use `./gitea web --pid ....` instead
* `./gitea` can still run the `web` sub-command as shorthand, with
default options
* The sub-command's options must follow the sub-command
* Before: `./gitea --sub-opt subcmd` might equal to `./gitea subcmd
--sub-opt` (well, might not ...)
* After: only `./gitea subcmd --sub-opt` could be used
* The global options like `--config` are not affected
Diffstat (limited to 'cmd/cert.go')
-rw-r--r-- | cmd/cert.go | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/cmd/cert.go b/cmd/cert.go index 897c10c899..9ae5ed06ce 100644 --- a/cmd/cert.go +++ b/cmd/cert.go @@ -20,43 +20,43 @@ import ( "strings" "time" - "github.com/urfave/cli" + "github.com/urfave/cli/v2" ) // CmdCert represents the available cert sub-command. -var CmdCert = cli.Command{ +var CmdCert = &cli.Command{ Name: "cert", Usage: "Generate self-signed certificate", Description: `Generate a self-signed X.509 certificate for a TLS server. Outputs to 'cert.pem' and 'key.pem' and will overwrite existing files.`, Action: runCert, Flags: []cli.Flag{ - cli.StringFlag{ + &cli.StringFlag{ Name: "host", Value: "", Usage: "Comma-separated hostnames and IPs to generate a certificate for", }, - cli.StringFlag{ + &cli.StringFlag{ Name: "ecdsa-curve", Value: "", Usage: "ECDSA curve to use to generate a key. Valid values are P224, P256, P384, P521", }, - cli.IntFlag{ + &cli.IntFlag{ Name: "rsa-bits", Value: 2048, Usage: "Size of RSA key to generate. Ignored if --ecdsa-curve is set", }, - cli.StringFlag{ + &cli.StringFlag{ Name: "start-date", Value: "", Usage: "Creation date formatted as Jan 1 15:04:05 2011", }, - cli.DurationFlag{ + &cli.DurationFlag{ Name: "duration", Value: 365 * 24 * time.Hour, Usage: "Duration that certificate is valid for", }, - cli.BoolFlag{ + &cli.BoolFlag{ Name: "ca", Usage: "whether this cert should be its own Certificate Authority", }, |