mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 10:01:17 +00:00
Bump clap to 4.0.x and adjust to best practices (#12381)
* Bump clap to 3.2.22 * Replace `from_os_str` with `value_parser` * Replace `from_str` and `try_from_str` with `value_parser` * Move possible_values to the new format * Remove unwanted print * Add missing match branch * Update clap to 4.0.9 and make it compile * Replace deprecated `clap` macro with `command` and `value` * Move remaining `clap` attributes to `arg` * Remove no-op value_parsers * Adjust value_parser for state_version * Remove "deprecated" feature flag and bump to 4.0.11 * Improve range Co-authored-by: Bastian Köcher <git@kchr.de> * Apply suggestions * Trigger CI * Fix unused error warning * Fix doc errors * Fix ArgGroup naming conflict * Change default_value to default_value_t * Use 1.. instead of 0.. Co-authored-by: Bastian Köcher <git@kchr.de>
This commit is contained in:
@@ -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" }
|
||||
|
||||
@@ -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)]
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
|
||||
@@ -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" }
|
||||
|
||||
@@ -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.
|
||||
@@ -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
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
|
||||
@@ -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"] }
|
||||
@@ -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" }
|
||||
|
||||
@@ -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};
|
||||
|
||||
@@ -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)]
|
||||
@@ -34,7 +34,7 @@ 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,
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ pub struct Cli {
|
||||
#[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."
|
||||
)]
|
||||
@@ -50,7 +50,7 @@ pub enum Subcommand {
|
||||
|
||||
/// 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.
|
||||
@@ -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.
|
||||
|
||||
@@ -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" }
|
||||
|
||||
@@ -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.
|
||||
@@ -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,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -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" }
|
||||
|
||||
@@ -37,51 +37,51 @@ use sp_keystore::{SyncCryptoStore, SyncCryptoStorePtr};
|
||||
/// A utility to easily create a testnet chain spec definition with a given set
|
||||
/// of authorities and endowed accounts and/or generate random accounts.
|
||||
#[derive(Parser)]
|
||||
#[clap(rename_all = "kebab-case")]
|
||||
#[command(rename_all = "kebab-case")]
|
||||
enum ChainSpecBuilder {
|
||||
/// Create a new chain spec with the given authorities, endowed and sudo
|
||||
/// accounts.
|
||||
New {
|
||||
/// Authority key seed.
|
||||
#[clap(long, short, required = true)]
|
||||
#[arg(long, short, required = true)]
|
||||
authority_seeds: Vec<String>,
|
||||
/// Active nominators (SS58 format), each backing a random subset of the aforementioned
|
||||
/// authorities.
|
||||
#[clap(long, short, default_value = "0")]
|
||||
#[arg(long, short, default_value = "0")]
|
||||
nominator_accounts: Vec<String>,
|
||||
/// Endowed account address (SS58 format).
|
||||
#[clap(long, short)]
|
||||
#[arg(long, short)]
|
||||
endowed_accounts: Vec<String>,
|
||||
/// Sudo account address (SS58 format).
|
||||
#[clap(long, short)]
|
||||
#[arg(long, short)]
|
||||
sudo_account: String,
|
||||
/// The path where the chain spec should be saved.
|
||||
#[clap(long, short, default_value = "./chain_spec.json")]
|
||||
#[arg(long, short, default_value = "./chain_spec.json")]
|
||||
chain_spec_path: PathBuf,
|
||||
},
|
||||
/// Create a new chain spec with the given number of authorities and endowed
|
||||
/// accounts. Random keys will be generated as required.
|
||||
Generate {
|
||||
/// The number of authorities.
|
||||
#[clap(long, short)]
|
||||
#[arg(long, short)]
|
||||
authorities: usize,
|
||||
/// The number of nominators backing the aforementioned authorities.
|
||||
///
|
||||
/// Will nominate a random subset of `authorities`.
|
||||
#[clap(long, short, default_value = "0")]
|
||||
#[arg(long, short, default_value_t = 0)]
|
||||
nominators: usize,
|
||||
/// The number of endowed accounts.
|
||||
#[clap(long, short, default_value = "0")]
|
||||
#[arg(long, short, default_value_t = 0)]
|
||||
endowed: usize,
|
||||
/// The path where the chain spec should be saved.
|
||||
#[clap(long, short, default_value = "./chain_spec.json")]
|
||||
#[arg(long, short, default_value = "./chain_spec.json")]
|
||||
chain_spec_path: PathBuf,
|
||||
/// Path to use when saving generated keystores for each authority.
|
||||
///
|
||||
/// At this path, a new folder will be created for each authority's
|
||||
/// keystore named `auth-$i` where `i` is the authority index, i.e.
|
||||
/// `auth-0`, `auth-1`, etc.
|
||||
#[clap(long, short)]
|
||||
#[arg(long, short)]
|
||||
keystore_path: Option<PathBuf>,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -17,5 +17,5 @@ path = "src/main.rs"
|
||||
name = "subkey"
|
||||
|
||||
[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" }
|
||||
|
||||
@@ -23,7 +23,7 @@ use sc_cli::{
|
||||
};
|
||||
|
||||
#[derive(Debug, Parser)]
|
||||
#[clap(
|
||||
#[command(
|
||||
name = "subkey",
|
||||
author = "Parity Team <admin@parity.io>",
|
||||
about = "Utility for generating and restoring with Substrate keys",
|
||||
|
||||
Reference in New Issue
Block a user