diff --git a/Cargo.lock b/Cargo.lock index 2ba905455..c26b58c49 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -711,8 +711,8 @@ checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750" dependencies = [ "atty", "bitflags", - "clap_derive", - "clap_lex", + "clap_derive 3.2.18", + "clap_lex 0.2.4", "indexmap", "once_cell", "strsim", @@ -720,6 +720,21 @@ dependencies = [ "textwrap", ] +[[package]] +name = "clap" +version = "4.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30607dd93c420c6f1f80b544be522a0238a7db35e6a12968d28910983fee0df0" +dependencies = [ + "atty", + "bitflags", + "clap_derive 4.0.9", + "clap_lex 0.3.0", + "once_cell", + "strsim", + "termcolor", +] + [[package]] name = "clap_derive" version = "3.2.18" @@ -733,6 +748,19 @@ dependencies = [ "syn 1.0.101", ] +[[package]] +name = "clap_derive" +version = "4.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a307492e1a34939f79d3b6b9650bd2b971513cd775436bf2b78defeb5af00b" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2 1.0.46", + "quote 1.0.21", + "syn 1.0.101", +] + [[package]] name = "clap_lex" version = "0.2.4" @@ -742,6 +770,15 @@ dependencies = [ "os_str_bytes", ] +[[package]] +name = "clap_lex" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8" +dependencies = [ + "os_str_bytes", +] + [[package]] name = "concat-arrays" version = "0.1.2" @@ -1793,7 +1830,7 @@ dependencies = [ "anyhow", "bincode", "byteorder", - "clap", + "clap 3.2.22", "csv", "encoding", "env_logger", @@ -1868,7 +1905,7 @@ dependencies = [ "anyhow", "bincode", "byteorder", - "clap", + "clap 3.2.22", "encoding", "env_logger", "glob", @@ -1888,7 +1925,7 @@ dependencies = [ "anyhow", "bincode", "byteorder", - "clap", + "clap 3.2.22", "csv", "encoding", "env_logger", @@ -1908,7 +1945,7 @@ dependencies = [ "anyhow", "bincode", "byteorder", - "clap", + "clap 3.2.22", "csv", "encoding", "env_logger", @@ -2051,7 +2088,7 @@ dependencies = [ "byte-unit", "bytes", "cargo_toml", - "clap", + "clap 4.0.9", "crossbeam-channel", "either", "env_logger", @@ -2123,7 +2160,7 @@ dependencies = [ "atomic_refcell", "byte-unit", "bytes", - "clap", + "clap 4.0.9", "crossbeam-channel", "csv", "derivative", diff --git a/meilisearch-http/Cargo.toml b/meilisearch-http/Cargo.toml index 12eca84fc..f57491cce 100644 --- a/meilisearch-http/Cargo.toml +++ b/meilisearch-http/Cargo.toml @@ -32,7 +32,7 @@ async-trait = "0.1.57" bstr = "1.0.1" byte-unit = { version = "4.0.14", default-features = false, features = ["std", "serde"] } bytes = "1.2.1" -clap = { version = "3.1.6", features = ["derive", "env"] } +clap = { version = "4.0.9", features = ["derive", "env"] } crossbeam-channel = "0.5.6" either = "1.8.0" env_logger = "0.9.1" diff --git a/meilisearch-http/src/option.rs b/meilisearch-http/src/option.rs index dfaec59f2..586626836 100644 --- a/meilisearch-http/src/option.rs +++ b/meilisearch-http/src/option.rs @@ -63,7 +63,7 @@ const DEFAULT_DUMPS_DIR: &str = "dumps/"; const DEFAULT_LOG_LEVEL: &str = "INFO"; #[derive(Debug, Clone, Parser, Serialize, Deserialize)] -#[clap(version)] +#[clap(version, next_display_order = None)] #[serde(rename_all = "snake_case", deny_unknown_fields)] pub struct Opt { /// Designates the location where database files will be created and retrieved. @@ -82,7 +82,7 @@ pub struct Opt { pub master_key: Option, /// Configures the instance's environment. Value must be either `production` or `development`. - #[clap(long, env = MEILI_ENV, default_value_t = default_env(), possible_values = &POSSIBLE_ENV)] + #[clap(long, env = MEILI_ENV, default_value_t = default_env(), value_parser = POSSIBLE_ENV)] #[serde(default = "default_env")] pub env: String, @@ -115,24 +115,24 @@ pub struct Opt { /// Sets the server's SSL certificates. #[serde(skip_serializing)] - #[clap(long, env = MEILI_SSL_CERT_PATH, parse(from_os_str))] + #[clap(long, env = MEILI_SSL_CERT_PATH, value_parser)] pub ssl_cert_path: Option, /// Sets the server's SSL key files. #[serde(skip_serializing)] - #[clap(long, env = MEILI_SSL_KEY_PATH, parse(from_os_str))] + #[clap(long, env = MEILI_SSL_KEY_PATH, value_parser)] pub ssl_key_path: Option, /// Enables client authentication in the specified path. #[serde(skip_serializing)] - #[clap(long, env = MEILI_SSL_AUTH_PATH, parse(from_os_str))] + #[clap(long, env = MEILI_SSL_AUTH_PATH, value_parser)] pub ssl_auth_path: Option, /// Sets the server's OCSP file. *Optional* /// /// Reads DER-encoded OCSP response from OCSPFILE and staple to certificate. #[serde(skip_serializing)] - #[clap(long, env = MEILI_SSL_OCSP_PATH, parse(from_os_str))] + #[clap(long, env = MEILI_SSL_OCSP_PATH, value_parser)] pub ssl_ocsp_path: Option, /// Makes SSL authentication mandatory. @@ -161,7 +161,7 @@ pub struct Opt { #[clap( long, env = MEILI_IGNORE_MISSING_SNAPSHOT, - requires = "import-snapshot" + requires = "import_snapshot" )] #[serde(default)] pub ignore_missing_snapshot: bool, @@ -174,7 +174,7 @@ pub struct Opt { #[clap( long, env = MEILI_IGNORE_SNAPSHOT_IF_DB_EXISTS, - requires = "import-snapshot" + requires = "import_snapshot" )] #[serde(default)] pub ignore_snapshot_if_db_exists: bool, @@ -196,14 +196,14 @@ pub struct Opt { /// Imports the dump file located at the specified path. Path must point to a `.dump` file. /// If a database already exists, Meilisearch will throw an error and abort launch. - #[clap(long, env = MEILI_IMPORT_DUMP, conflicts_with = "import-snapshot")] + #[clap(long, env = MEILI_IMPORT_DUMP, conflicts_with = "import_snapshot")] pub import_dump: Option, /// Prevents Meilisearch from throwing an error when `--import-dump` does not point to /// a valid dump file. Instead, Meilisearch will start normally without importing any dump. /// /// This option will trigger an error if `--import-dump` is not defined. - #[clap(long, env = MEILI_IGNORE_MISSING_DUMP, requires = "import-dump")] + #[clap(long, env = MEILI_IGNORE_MISSING_DUMP, requires = "import_dump")] #[serde(default)] pub ignore_missing_dump: bool, @@ -212,7 +212,7 @@ pub struct Opt { /// launch using the existing database. /// /// This option will trigger an error if `--import-dump` is not defined. - #[clap(long, env = MEILI_IGNORE_DUMP_IF_DB_EXISTS, requires = "import-dump")] + #[clap(long, env = MEILI_IGNORE_DUMP_IF_DB_EXISTS, requires = "import_dump")] #[serde(default)] pub ignore_dump_if_db_exists: bool, diff --git a/meilisearch-lib/Cargo.toml b/meilisearch-lib/Cargo.toml index c1af2f00f..c48a7bdf7 100644 --- a/meilisearch-lib/Cargo.toml +++ b/meilisearch-lib/Cargo.toml @@ -11,7 +11,7 @@ async-trait = "0.1.57" atomic_refcell = "0.1.8" byte-unit = { version = "4.0.14", default-features = false, features = ["std", "serde"] } bytes = "1.2.1" -clap = { version = "3.1.6", features = ["derive", "env"] } +clap = { version = "4.0.9", features = ["derive", "env"] } crossbeam-channel = "0.5.6" csv = "1.1.6" derivative = "2.2.0"