gitea/contrib
wxiaoguang d0dbe52e76
Refactor to use urfave/cli/v2 ()
Replace 

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
..
autocompletion Add Bash and Zsh completion scripts ()
backport Refactor to use urfave/cli/v2 ()
environment-to-ini Refactor to use urfave/cli/v2 ()
fhs-compliant-script Fix issue with docker-rootless shimming script ()
fixtures Enable forbidigo linter ()
gitea-monitoring-mixin Fixed lint warnings in Grafana raised by Mixtool ()
ide Update to work with latest VS Code go debugger ()
init Add init file for Ubuntu ()
launchd
legal [Contrib] Change License Link to Full CC0 Legalcode (PP and TOS) ()
options/label
supervisor
systemd Implement systemd-notify protocol ()
README
update_dependencies.sh bump go deps ()
upgrade.sh Updated upgrade script that is informing user that Gitea service has to be running in order to upgrade it ()

README

All files in subdirectories are templates, do modifications based on your environment first.