Update to clap 3.* (#4082)

* Update to clap 3.0

This commit migrates all CLI commands internally used in this project
from structopt/clap2 to clap 3. The intent here is to ensure that we're
using maintained versions of the dependencies as structopt and clap 2
are less maintained nowadays. Most transitions were pretty
straightforward and mostly dealing with structopt/clap3 differences.

* Fix a number of `cargo deny` errors

This commit fixes a few errors around duplicate dependencies which
arose from the prior update to clap3. This also uses a new feature in
`deny.toml`, `skip-tree`, which allows having a bit more targeted
ignores for skips of duplicate version checks. This showed a few more
locations in Wasmtime itself where we could update some dependencies.
This commit is contained in:
Alex Crichton
2022-04-28 12:47:12 -05:00
committed by GitHub
parent 871a9d93f2
commit 5fe06f7345
30 changed files with 295 additions and 325 deletions

View File

@@ -27,13 +27,17 @@ multiple-versions = "deny"
wildcards = "allow"
deny = []
# Skip some multiple-versions checks, until they can be fixed.
skip = [
{ name = "ansi_term" }, # transitive dependencies only
{ name = "env_logger" }, # pretty_env_logger and file-per-thread-logger depend on 0.7
{ name = "humantime" }, # caused by env_logger
{ name = "wast" }, # old one pulled in by witx
{ name = "quick-error" }, # transitive dependencies
{ name = "textwrap" }, # `miette` and `clap` depend on different versions
{ name = "itoa" }, # `rustix` and `criterion` depend on different versions
skip-tree = [
# Criterion 0.3 is pretty old at this point and has had an upcoming 0.4 for
# a long time. This is a dev-dependency so we don't really mind its
# dependency tree, so skip it entirely.
{ name = "criterion", depth = 20 },
# This is maintained externally and we allow it to have duplicate
# dependencies relative to Wasmtime's main dependency tree.
{ name = "witx", depth = 20 },
# This is somewhat unmaintained at this point and seems to pull in an old
# version of `env_logger`, so ignore it.
{ name = "pretty_env_logger", depth = 20 },
]