Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Bump clap to 4.0.x and adjust to best practices #12381

Merged
merged 26 commits into from
Oct 18, 2022
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
5c05eed
Bump clap to 3.2.22
skunert Sep 23, 2022
722c344
Replace `from_os_str` with `value_parser`
skunert Sep 23, 2022
4c9000a
Replace `from_str` and `try_from_str` with `value_parser`
skunert Sep 23, 2022
a2074da
Move possible_values to the new format
skunert Sep 27, 2022
00fd209
Merge branch 'master' into skunert/clap-3222
skunert Sep 28, 2022
e688996
Remove unwanted print
skunert Sep 28, 2022
f6fa5bc
Add missing match branch
skunert Sep 29, 2022
0cd4921
Update clap to 4.0.9 and make it compile
skunert Oct 5, 2022
ba302c4
Replace deprecated `clap` macro with `command` and `value`
skunert Oct 5, 2022
7342dfd
Move remaining `clap` attributes to `arg`
skunert Oct 5, 2022
d212391
Remove no-op value_parsers
skunert Oct 5, 2022
a1a27d1
Merge branch 'master' into skunert/clap-3222
skunert Oct 5, 2022
1627561
Merge branch 'master' into skunert/clap-3222
skunert Oct 6, 2022
a6181b6
Adjust value_parser for state_version
skunert Oct 7, 2022
5c929dd
Remove "deprecated" feature flag and bump to 4.0.11
skunert Oct 9, 2022
a91d5aa
Merge branch 'master' into skunert/clap-3222
skunert Oct 9, 2022
a84300b
Improve range
skunert Oct 10, 2022
cb3fe5d
Apply suggestions
skunert Oct 10, 2022
a6491a2
Trigger CI
skunert Oct 10, 2022
35ec929
Fix unused error warning
skunert Oct 11, 2022
aa1299f
Merge remote-tracking branch 'origin/master' into skunert/clap-3222
skunert Oct 11, 2022
9381446
Fix doc errors
skunert Oct 11, 2022
2b80749
Fix ArgGroup naming conflict
skunert Oct 11, 2022
6661fa8
Merge branch 'master' into skunert/clap-3222
skunert Oct 17, 2022
fed8da7
Change default_value to default_value_t
skunert Oct 17, 2022
4f614e7
Use 1.. instead of 0..
skunert Oct 17, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 26 additions & 34 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion bin/node-template/node/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ targets = ["x86_64-unknown-linux-gnu"]
name = "node-template"

[dependencies]
clap = { version = "3.1.18", features = ["derive"] }
clap = { version = "4.0.9", features = ["derive"] }

sc-cli = { version = "0.10.0-dev", path = "../../../client/cli", features = ["wasmtime"] }
sp-core = { version = "6.0.0", path = "../../../primitives/core" }
Expand Down
6 changes: 3 additions & 3 deletions bin/node-template/node/src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use sc_cli::RunCmd;

#[derive(Debug, clap::Parser)]
pub struct Cli {
#[clap(subcommand)]
#[command(subcommand)]
pub subcommand: Option<Subcommand>,

#[clap(flatten)]
Expand All @@ -12,7 +12,7 @@ pub struct Cli {
#[derive(Debug, clap::Subcommand)]
pub enum Subcommand {
/// Key management cli utilities
#[clap(subcommand)]
#[command(subcommand)]
Key(sc_cli::KeySubcommand),

/// Build a chain specification.
Expand All @@ -37,7 +37,7 @@ pub enum Subcommand {
Revert(sc_cli::RevertCmd),

/// Sub-commands concerned with benchmarking.
#[clap(subcommand)]
#[command(subcommand)]
Benchmark(frame_benchmarking_cli::BenchmarkCmd),

/// Try some command against runtime state.
Expand Down
2 changes: 1 addition & 1 deletion bin/node/bench/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ repository = "https://github.com/paritytech/substrate/"

[dependencies]
array-bytes = "4.1"
clap = { version = "3.1.18", features = ["derive"] }
clap = { version = "4.0.9", features = ["derive"] }
log = "0.4.17"
node-primitives = { version = "2.0.0", path = "../primitives" }
node-testing = { version = "3.0.0-dev", path = "../testing" }
Expand Down
10 changes: 5 additions & 5 deletions bin/node/bench/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,18 +43,18 @@ use crate::{
};

#[derive(Debug, Parser)]
#[clap(name = "node-bench", about = "Node integration benchmarks")]
#[command(name = "node-bench", about = "Node integration benchmarks")]
struct Opt {
/// Show list of all available benchmarks.
///
/// Will output ("name", "path"). Benchmarks can then be filtered by path.
#[clap(short, long)]
#[arg(short, long)]
list: bool,

/// Machine readable json output.
///
/// This also suppresses all regular output (except to stderr)
#[clap(short, long)]
#[arg(short, long)]
json: bool,

/// Filter benchmarks.
Expand All @@ -63,7 +63,7 @@ struct Opt {
filter: Option<String>,

/// Number of transactions for block import with `custom` size.
#[clap(long)]
#[arg(long)]
transactions: Option<usize>,

/// Mode
Expand All @@ -72,7 +72,7 @@ struct Opt {
///
/// "profile" mode adds pauses between measurable runs,
/// so that actual interval can be selected in the profiler of choice.
#[clap(short, long, default_value = "regular")]
#[arg(short, long, default_value = "regular")]
mode: BenchmarkMode,
}

Expand Down
6 changes: 3 additions & 3 deletions bin/node/cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ crate-type = ["cdylib", "rlib"]
[dependencies]
# third-party dependencies
array-bytes = "4.1"
clap = { version = "3.1.18", features = ["derive"], optional = true }
clap = { version = "4.0.9", features = ["derive"], optional = true }
codec = { package = "parity-scale-codec", version = "3.0.0" }
serde = { version = "1.0.136", features = ["derive"] }
jsonrpsee = { version = "0.15.1", features = ["server"] }
Expand Down Expand Up @@ -136,8 +136,8 @@ remote-externalities = { path = "../../../utils/frame/remote-externalities" }
pallet-timestamp = { version = "4.0.0-dev", path = "../../../frame/timestamp" }

[build-dependencies]
clap = { version = "3.1.18", optional = true }
clap_complete = { version = "3.0", optional = true }
clap = { version = "4.0.9", optional = true }
clap_complete = { version = "4.0.2", optional = true }
node-inspect = { version = "0.9.0-dev", optional = true, path = "../inspect" }
frame-benchmarking-cli = { version = "4.0.0-dev", optional = true, path = "../../../utils/frame/benchmarking-cli" }
substrate-build-script-utils = { version = "3.0.0", optional = true, path = "../../../utils/build-script-utils" }
Expand Down
2 changes: 1 addition & 1 deletion bin/node/cli/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ fn main() {
mod cli {
include!("src/cli.rs");

use clap::{ArgEnum, CommandFactory};
use clap::{CommandFactory, ValueEnum};
use clap_complete::{generate_to, Shell};
use std::{env, fs, path::Path};
use substrate_build_script_utils::{generate_cargo_keys, rerun_if_git_head_changed};
Expand Down
10 changes: 5 additions & 5 deletions bin/node/cli/src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
#[derive(Debug, clap::Parser)]
pub struct Cli {
/// Possible subcommand with parameters.
#[clap(subcommand)]
#[command(subcommand)]
pub subcommand: Option<Subcommand>,

#[allow(missing_docs)]
Expand All @@ -34,23 +34,23 @@ pub struct Cli {
///
/// The results are then printed out in the logs, and also sent as part of
/// telemetry, if telemetry is enabled.
#[clap(long)]
#[arg(long)]
pub no_hardware_benchmarks: bool,
}

/// Possible subcommands of the main binary.
#[derive(Debug, clap::Subcommand)]
pub enum Subcommand {
/// The custom inspect subcommmand for decoding blocks and extrinsics.
#[clap(
#[command(
name = "inspect",
about = "Decode given block or extrinsic using current native runtime."
)]
Inspect(node_inspect::cli::InspectCmd),

/// Sub-commands concerned with benchmarking.
/// The pallet benchmarking moved to the `pallet` sub-command.
#[clap(subcommand)]
#[command(subcommand)]
Benchmark(frame_benchmarking_cli::BenchmarkCmd),

/// Try some command against runtime state.
Expand All @@ -62,7 +62,7 @@ pub enum Subcommand {
TryRuntime,

/// Key management cli utilities
#[clap(subcommand)]
#[command(subcommand)]
Key(sc_cli::KeySubcommand),

/// Verify a signature for a message, provided on STDIN, with a given (public or secret) key.
Expand Down
2 changes: 1 addition & 1 deletion bin/node/inspect/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ repository = "https://github.com/paritytech/substrate/"
targets = ["x86_64-unknown-linux-gnu"]

[dependencies]
clap = { version = "3.1.6", features = ["derive"] }
clap = { version = "4.0.9", features = ["derive"] }
codec = { package = "parity-scale-codec", version = "3.0.0" }
thiserror = "1.0"
sc-cli = { version = "0.10.0-dev", path = "../../../client/cli" }
Expand Down
4 changes: 2 additions & 2 deletions bin/node/inspect/src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ pub enum InspectSubCmd {
/// Can be either a block hash (no 0x prefix) or a number to retrieve existing block,
/// or a 0x-prefixed bytes hex string, representing SCALE encoding of
/// a block.
#[clap(value_name = "HASH or NUMBER or BYTES")]
#[arg(value_name = "HASH or NUMBER or BYTES")]
input: String,
},
/// Decode extrinsic with native version of runtime and print out the details.
Expand All @@ -56,7 +56,7 @@ pub enum InspectSubCmd {
/// Can be either a block hash (no 0x prefix) or number and the index, in the form
/// of `{block}:{index}` or a 0x-prefixed bytes hex string,
/// representing SCALE encoding of an extrinsic.
#[clap(value_name = "BLOCK:INDEX or BYTES")]
#[arg(value_name = "BLOCK:INDEX or BYTES")]
input: String,
},
}
2 changes: 1 addition & 1 deletion bin/utils/chain-spec-builder/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"]

[dependencies]
ansi_term = "0.12.1"
clap = { version = "3.1.18", features = ["derive"] }
clap = { version = "4.0.9", features = ["derive"] }
rand = "0.8"
node-cli = { version = "3.0.0-dev", path = "../../node/cli" }
sc-chain-spec = { version = "4.0.0-dev", path = "../../../client/chain-spec" }
Expand Down
Loading