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:
Sebastian Kunert
2022-10-18 08:52:46 +02:00
committed by GitHub
parent ca15fe7e3d
commit f687db40f7
70 changed files with 434 additions and 443 deletions
@@ -33,11 +33,11 @@ use std::{fmt::Debug, str::FromStr};
#[derive(Debug, Clone, clap::Parser)]
pub struct ExecuteBlockCmd {
/// Overwrite the wasm code in state or not.
#[clap(long)]
#[arg(long)]
overwrite_wasm_code: bool,
/// If set the state root check is disabled.
#[clap(long)]
#[arg(long)]
no_state_root_check: bool,
/// Which try-state targets to execute when running this command.
@@ -49,17 +49,16 @@ pub struct ExecuteBlockCmd {
/// `Staking, System`).
/// - `rr-[x]` where `[x]` is a number. Then, the given number of pallets are checked in a
/// round-robin fashion.
#[clap(long, default_value = "none")]
#[arg(long, default_value = "none")]
try_state: frame_try_runtime::TryStateSelect,
/// The block hash at which to fetch the block.
///
/// If the `live` state type is being used, then this can be omitted, and is equal to whatever
/// the `state::at` is. Only use this (with care) when combined with a snapshot.
#[clap(
#[arg(
long,
multiple_values = false,
parse(try_from_str = crate::parse::hash)
value_parser = crate::parse::hash
)]
block_at: Option<String>,
@@ -67,10 +66,9 @@ pub struct ExecuteBlockCmd {
///
/// If the `live` state type is being used, then this can be omitted, and is equal to whatever
/// the `state::uri` is. Only use this (with care) when combined with a snapshot.
#[clap(
#[arg(
long,
multiple_values = false,
parse(try_from_str = crate::parse::url)
value_parser = crate::parse::url
)]
block_ws_uri: Option<String>,
@@ -79,7 +77,7 @@ pub struct ExecuteBlockCmd {
/// For this command only, if the `live` is used, then state of the parent block is fetched.
///
/// If `block_at` is provided, then the [`State::Live::at`] is being ignored.
#[clap(subcommand)]
#[command(subcommand)]
state: State,
}
@@ -43,11 +43,11 @@ const UN_SUB: &str = "chain_unsubscribeFinalizedHeads";
#[derive(Debug, Clone, clap::Parser)]
pub struct FollowChainCmd {
/// The url to connect to.
#[clap(short, long, parse(try_from_str = parse::url))]
#[arg(short, long, value_parser = parse::url)]
uri: String,
/// If set, then the state root check is enabled.
#[clap(long)]
#[arg(long)]
state_root_check: bool,
/// Which try-state targets to execute when running this command.
@@ -59,11 +59,11 @@ pub struct FollowChainCmd {
/// `Staking, System`).
/// - `rr-[x]` where `[x]` is a number. Then, the given number of pallets are checked in a
/// round-robin fashion.
#[clap(long, default_value = "none")]
#[arg(long, default_value = "none")]
try_state: frame_try_runtime::TryStateSelect,
/// If present, a single connection to a node will be kept and reused for fetching blocks.
#[clap(long)]
#[arg(long)]
keep_connection: bool,
}
@@ -31,17 +31,16 @@ use std::{fmt::Debug, str::FromStr};
#[derive(Debug, Clone, clap::Parser)]
pub struct OffchainWorkerCmd {
/// Overwrite the wasm code in state or not.
#[clap(long)]
#[arg(long)]
overwrite_wasm_code: bool,
/// The block hash at which to fetch the header.
///
/// If the `live` state type is being used, then this can be omitted, and is equal to whatever
/// the `state::at` is. Only use this (with care) when combined with a snapshot.
#[clap(
#[arg(
long,
multiple_values = false,
parse(try_from_str = parse::hash)
value_parser = parse::hash
)]
header_at: Option<String>,
@@ -49,15 +48,14 @@ pub struct OffchainWorkerCmd {
///
/// If the `live` state type is being used, then this can be omitted, and is equal to whatever
/// the `state::uri` is. Only use this (with care) when combined with a snapshot.
#[clap(
#[arg(
long,
multiple_values = false,
parse(try_from_str = parse::url)
value_parser = parse::url
)]
header_ws_uri: Option<String>,
/// The state type to use.
#[clap(subcommand)]
#[command(subcommand)]
pub state: State,
}
@@ -32,7 +32,7 @@ use crate::{
#[derive(Debug, Clone, clap::Parser)]
pub struct OnRuntimeUpgradeCmd {
/// The state type to use.
#[clap(subcommand)]
#[command(subcommand)]
pub state: State,
}