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

@@ -17,7 +17,7 @@ test = false
doctest = false
[dependencies]
env_logger = "0.8"
env_logger = "0.9"
anyhow = "1.0"
once_cell = "1.3"
wasmtime = { path = "../wasmtime", default-features = false, features = ['cranelift', 'wasm-backtrace'] }

View File

@@ -10,7 +10,7 @@ license = "Apache-2.0 WITH LLVM-exception"
[dependencies]
anyhow = "1.0.22"
arbitrary = { version = "1.1.0", features = ["derive"] }
env_logger = "0.8.1"
env_logger = "0.9.0"
log = "0.4.8"
rayon = "1.2.1"
target-lexicon = "0.12.3"

View File

@@ -17,7 +17,7 @@ include = ["src/**/*", "README.md", "LICENSE"]
witx = { version = "0.9.1", path = "../../wasi-common/WASI/tools/witx" }
quote = "1.0"
proc-macro2 = "1.0"
heck = "0.3"
heck = "0.4"
anyhow = "1"
syn = { version = "1.0", features = ["full"] }
shellexpand = "2.0"

View File

@@ -7,7 +7,7 @@ mod names;
mod types;
pub mod wasmtime;
use heck::ShoutySnakeCase;
use heck::ToShoutySnakeCase;
use lifetimes::anon_lifetime;
use proc_macro2::{Literal, TokenStream};
use quote::quote;

View File

@@ -1,5 +1,5 @@
use escaping::{escape_id, handle_2big_enum_variant, NamingConvention};
use heck::{ShoutySnakeCase, SnakeCase};
use heck::{ToShoutySnakeCase, ToSnakeCase};
use proc_macro2::{Ident, TokenStream};
use quote::{format_ident, quote};
use witx::{BuiltinType, Id, Type, TypeRef, WasmType};
@@ -216,7 +216,7 @@ impl Names {
/// variable. `dyn` was promoted to a strict keyword beginning in the 2018 edition.
mod escaping {
use {
heck::{CamelCase, SnakeCase},
heck::{ToSnakeCase, ToUpperCamelCase},
proc_macro2::Ident,
quote::format_ident,
witx::Id,
@@ -245,7 +245,7 @@ mod escaping {
match (conv, id.as_str()) {
// For camel-cased identifiers, `Self` is the only potential keyword conflict.
(CamelCase, "self") => format_ident!("Self_"),
(CamelCase, s) => format_ident!("{}", s.to_camel_case()),
(CamelCase, s) => format_ident!("{}", s.to_upper_camel_case()),
// Snake-cased identifiers are where the bulk of conflicts can occur.
(SnakeCase, s) => {
let s = s.to_snake_case();

View File

@@ -19,7 +19,7 @@ wiggle = { path = "..", features = ["tracing_log"] }
thiserror = "1.0"
tracing = "0.1.26"
tracing-subscriber = "0.3.1"
env_logger = "0.8"
env_logger = "0.9"
[badges]
maintenance = { status = "actively-developed" }