Merge branch 'xMAC94x/update_deps' into 'master'

update further dependencies

See merge request veloren/veloren!3913
This commit is contained in:
Marcel 2023-05-05 08:42:43 +00:00
commit 223ae7ee98
22 changed files with 238 additions and 247 deletions

225
Cargo.lock generated
View File

@ -122,12 +122,52 @@ dependencies = [
]
[[package]]
name = "ansi_term"
version = "0.12.1"
name = "anstream"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
dependencies = [
"winapi 0.3.9",
"anstyle",
"anstyle-parse",
"anstyle-query",
"anstyle-wincon",
"colorchoice",
"is-terminal",
"utf8parse",
]
[[package]]
name = "anstyle"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
[[package]]
name = "anstyle-parse"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
dependencies = [
"utf8parse",
]
[[package]]
name = "anstyle-query"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
dependencies = [
"windows-sys 0.48.0",
]
[[package]]
name = "anstyle-wincon"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
dependencies = [
"anstyle",
"windows-sys 0.48.0",
]
[[package]]
@ -296,12 +336,13 @@ checksum = "79d6dc922a2792b006573f60b2648076355daeae5ce9cb59507e5908c9625d31"
[[package]]
name = "atomicwrites"
version = "0.3.1"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb8f2cd6962fa53c0e2a9d3f97eaa7dbd1e3cbbeeb4745403515b42ae07b3ff6"
checksum = "c1163d9d7c51de51a2b79d6df5e8888d11e9df17c752ce4a285fb6ca1580734e"
dependencies = [
"rustix",
"tempfile",
"winapi 0.3.9",
"windows-sys 0.48.0",
]
[[package]]
@ -583,9 +624,9 @@ dependencies = [
[[package]]
name = "censor"
version = "0.2.0"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5563d2728feef9a6186acdd148bccbe850dad63c5ba55a3b3355abc9137cb3eb"
checksum = "d41e3b9fdbb9b3edc10dc66a06dc255822f699c432e19403fb966e6d60e0dec4"
dependencies = [
"once_cell",
]
@ -689,53 +730,52 @@ version = "2.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
dependencies = [
"ansi_term",
"atty",
"bitflags 1.3.2",
"strsim 0.8.0",
"textwrap 0.11.0",
"textwrap",
"unicode-width",
"vec_map",
]
[[package]]
name = "clap"
version = "3.2.25"
version = "4.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
checksum = "34d21f9bf1b425d2968943631ec91202fe5e837264063503708b83013f8fc938"
dependencies = [
"atty",
"bitflags 1.3.2",
"clap_builder",
"clap_derive",
"clap_lex",
"indexmap",
"once_cell",
]
[[package]]
name = "clap_builder"
version = "4.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "914c8c79fb560f238ef6429439a30023c862f7a28e688c58f7203f12b29970bd"
dependencies = [
"anstream",
"anstyle",
"bitflags 1.3.2",
"clap_lex",
"strsim 0.10.0",
"termcolor",
"textwrap 0.16.0",
]
[[package]]
name = "clap_derive"
version = "3.2.25"
version = "4.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008"
checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4"
dependencies = [
"heck 0.4.1",
"proc-macro-error",
"heck",
"proc-macro2 1.0.56",
"quote 1.0.26",
"syn 1.0.109",
"syn 2.0.15",
]
[[package]]
name = "clap_lex"
version = "0.2.4"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
dependencies = [
"os_str_bytes",
]
checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1"
[[package]]
name = "clipboard-win"
@ -853,6 +893,12 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
[[package]]
name = "colorchoice"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
[[package]]
name = "combine"
version = "4.6.6"
@ -1343,9 +1389,9 @@ dependencies = [
[[package]]
name = "crossterm"
version = "0.25.0"
version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67"
checksum = "a84cda67535339806297f1b331d6dd6320470d2a0fe65381e79ee9e156dd3d13"
dependencies = [
"bitflags 1.3.2",
"crossterm_winapi 0.9.0",
@ -2738,15 +2784,6 @@ dependencies = [
"stable_deref_trait",
]
[[package]]
name = "heck"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
dependencies = [
"unicode-segmentation",
]
[[package]]
name = "heck"
version = "0.4.1"
@ -3099,6 +3136,18 @@ dependencies = [
"windows-sys 0.48.0",
]
[[package]]
name = "is-terminal"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
dependencies = [
"hermit-abi 0.3.1",
"io-lifetimes",
"rustix",
"windows-sys 0.48.0",
]
[[package]]
name = "itertools"
version = "0.10.5"
@ -3570,9 +3619,9 @@ dependencies = [
[[package]]
name = "minifb"
version = "0.23.0"
version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9e21c5f89bb820c7878c300c5b944e65de0f1b2a75e0be92ce670b95943740e"
checksum = "c66a1fdd7e946fe33fe9725012e25836bba3655769bee9ee347cce7de3f396df"
dependencies = [
"cc",
"dlib 0.5.0",
@ -3920,18 +3969,6 @@ dependencies = [
"memoffset 0.6.5",
]
[[package]]
name = "nix"
version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
dependencies = [
"autocfg",
"bitflags 1.3.2",
"cfg-if 1.0.0",
"libc",
]
[[package]]
name = "nix"
version = "0.26.2"
@ -4322,12 +4359,6 @@ dependencies = [
"num-traits",
]
[[package]]
name = "os_str_bytes"
version = "6.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267"
[[package]]
name = "overload"
version = "0.1.1"
@ -5503,9 +5534,9 @@ checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
[[package]]
name = "rustyline"
version = "10.1.1"
version = "11.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1e83c32c3f3c33b08496e0d1df9ea8c64d39adb8eb36a1ebb1440c690697aef"
checksum = "5dfc8644681285d1fb67a467fb3021bfea306b99b4146b166a1fe3ada965eece"
dependencies = [
"bitflags 1.3.2",
"cfg-if 1.0.0",
@ -5515,7 +5546,7 @@ dependencies = [
"libc",
"log",
"memchr",
"nix 0.25.1",
"nix 0.26.2",
"radix_trie",
"scopeguard",
"unicode-segmentation",
@ -6178,12 +6209,6 @@ version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0"
[[package]]
name = "strsim"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
[[package]]
name = "strsim"
version = "0.9.3"
@ -6196,30 +6221,6 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "structopt"
version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10"
dependencies = [
"clap 2.34.0",
"lazy_static",
"structopt-derive",
]
[[package]]
name = "structopt-derive"
version = "0.4.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
dependencies = [
"heck 0.3.3",
"proc-macro-error",
"proc-macro2 1.0.56",
"quote 1.0.26",
"syn 1.0.109",
]
[[package]]
name = "strum"
version = "0.24.1"
@ -6235,7 +6236,7 @@ version = "0.24.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
dependencies = [
"heck 0.4.1",
"heck",
"proc-macro2 1.0.56",
"quote 1.0.26",
"rustversion",
@ -6341,12 +6342,6 @@ dependencies = [
"unicode-width",
]
[[package]]
name = "textwrap"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
[[package]]
name = "thiserror"
version = "1.0.40"
@ -6913,7 +6908,7 @@ dependencies = [
"async-channel",
"authc",
"byteorder",
"clap 3.2.25",
"clap 4.2.7",
"hashbrown 0.13.2",
"image",
"num 0.4.0",
@ -6923,7 +6918,6 @@ dependencies = [
"rustyline",
"serde",
"specs",
"structopt",
"termcolor",
"tokio",
"tracing",
@ -6944,7 +6938,7 @@ dependencies = [
name = "veloren-client-i18n"
version = "0.13.0"
dependencies = [
"clap 3.2.25",
"clap 4.2.7",
"deunicode",
"fluent",
"fluent-bundle",
@ -6968,7 +6962,7 @@ dependencies = [
"cfg-if 1.0.0",
"chrono",
"chrono-tz",
"clap 2.34.0",
"clap 4.2.7",
"criterion",
"crossbeam-channel",
"crossbeam-utils 0.8.15",
@ -6998,7 +6992,6 @@ dependencies = [
"slotmap 1.0.6",
"specs",
"spin_sleep",
"structopt",
"strum",
"tracing",
"tracing-subscriber",
@ -7134,9 +7127,9 @@ dependencies = [
"async-channel",
"async-trait",
"bincode",
"bitflags 1.3.2",
"bitflags 2.2.1",
"bytes",
"clap 3.2.25",
"clap 4.2.7",
"criterion",
"crossbeam-channel",
"futures-core",
@ -7191,7 +7184,7 @@ version = "0.1.0"
dependencies = [
"proc-macro2 1.0.56",
"quote 1.0.26",
"syn 1.0.109",
"syn 2.0.15",
]
[[package]]
@ -7305,8 +7298,8 @@ name = "veloren-server-cli"
version = "0.14.0"
dependencies = [
"cansi",
"clap 3.2.25",
"crossterm 0.25.0",
"clap 4.2.7",
"crossterm 0.26.1",
"lazy_static",
"mimalloc",
"num_cpus",
@ -7314,6 +7307,7 @@ dependencies = [
"serde",
"shell-words",
"signal-hook 0.3.15",
"strum",
"tokio",
"tracing",
"tui",
@ -7336,7 +7330,7 @@ dependencies = [
"bytemuck",
"chrono",
"chumsky",
"clap 3.2.25",
"clap 4.2.7",
"cmake",
"conrod_core",
"conrod_winit",
@ -7449,7 +7443,7 @@ dependencies = [
"arr_macro",
"bincode",
"bitvec",
"clap 3.2.25",
"clap 4.2.7",
"criterion",
"csv",
"deflate",
@ -7478,7 +7472,6 @@ dependencies = [
"rstar",
"rusqlite",
"serde",
"structopt",
"strum",
"svg_fmt",
"tracing",

View File

@ -7,7 +7,7 @@ edition = "2021"
[features]
simd = ["vek/platform_intrinsics"]
plugins = ["common-state/plugins"]
bin_bot = ["common-ecs", "serde", "ron", "clap", "structopt", "rustyline", "common-frontend", "async-channel", "voxygen-i18n-helpers", "client-i18n"]
bin_bot = ["common-ecs", "serde", "ron", "clap", "rustyline", "common-frontend", "async-channel", "voxygen-i18n-helpers", "client-i18n"]
tracy = ["common-base/tracy"]
tick_network = []
@ -22,7 +22,7 @@ common-net = { package = "veloren-common-net", path = "../common/net" }
network = { package = "veloren-network", path = "../network", features = ["compression","quic"], default-features = false }
byteorder = "1.3.2"
tokio = { version = "1.15", default-features = false, features = ["rt-multi-thread"] }
tokio = { version = "1.24", default-features = false, features = ["rt-multi-thread"] }
quinn = "0.8"
image = { version = "0.24", default-features = false, features = ["png"] }
num = "0.4"
@ -41,9 +41,8 @@ voxygen-i18n-helpers = { package = "veloren-voxygen-i18n-helpers", path = "../vo
client-i18n = { package = "veloren-client-i18n", path = "i18n", optional = true }
serde = { version = "1.0", features = [ "rc", "derive" ], optional = true }
ron = { version = "0.8", default-features = false, optional = true }
clap = { version = "3.1.8", optional = true, features = ["color", "std"] }
structopt = { version = "0.3.13", optional = true }
rustyline = { version = "10.0.0", optional = true }
clap = { version = "4.2", optional = true }
rustyline = { version = "11.0.0", optional = true }
## logging
termcolor = { version = "1.1", optional = true }
common-frontend = { package = "veloren-common-frontend", path = "../common/frontend", optional = true }

View File

@ -21,7 +21,7 @@ hashbrown = { version = "0.13", features = ["serde", "nightly"] }
deunicode = "1.0"
tracing = "0.1"
# Bin
clap = { version = "3.1.8", features = ["suggestions", "std"], default-features = false, optional = true }
clap = { version = "4.2", features = ["suggestions", "std", "help", "usage", "error-context"], default-features = false, optional = true }
fluent-syntax = { git = "https://github.com/juliancoffee/fluent-rs.git", branch = "patched"}
[[bin]]

View File

@ -19,9 +19,12 @@ fn main() {
let i18n_directory = root.join("assets/voxygen/i18n");
let reference = ReferenceLanguage::at(&i18n_directory.join(REFERENCE_LANG));
let code = args.value_of("CODE").expect("arg is required");
let code = args
.get_one::<String>("CODE")
.expect("arg is required")
.to_string();
let lang = Language {
code: code.to_owned(),
code: code.clone(),
path: root.join(i18n_directory.join(code)),
};
let stats = reference.compare_with(&lang);

View File

@ -26,10 +26,18 @@ impl Tui {
let handle = thread::spawn(move || {
thread::sleep(Duration::from_millis(20));
let mut readline = rustyline::Editor::<()>::new().unwrap();
let config = rustyline::config::Builder::new()
.max_history_size(1000)
.unwrap()
.build();
let mut readline = rustyline::Editor::<(), _>::with_history(
config,
rustyline::history::MemHistory::with_config(config),
)
.unwrap();
while let Ok(cmd) = readline.readline("\n\nbotclient> ") {
let keep_going = Self::process_command(&cmd, &mut commands_s);
readline.add_history_entry(cmd);
readline.add_history_entry(cmd).unwrap();
if !keep_going {
break;
}
@ -65,22 +73,20 @@ impl Tui {
.args(&[Arg::new("prefix").required(true)]),
)
.try_get_matches_from(cmd.split(' '));
use clap::ErrorKind::*;
use clap::error::ErrorKind::*;
match matches {
Ok(matches) => {
if match matches.subcommand() {
Some(("register", matches)) => command_s.try_send(Cmd::Register {
prefix: matches.value_of("prefix").unwrap().to_string(),
password: matches.value_of("password").unwrap().to_string(),
count: matches
.value_of("count")
.and_then(|x| x.parse::<usize>().ok()),
prefix: matches.get_one::<String>("prefix").unwrap().to_string(),
password: matches.get_one::<String>("password").unwrap().to_string(),
count: matches.get_one::<usize>("count").copied(),
}),
Some(("login", matches)) => command_s.try_send(Cmd::Login {
prefix: matches.value_of("prefix").unwrap().to_string(),
prefix: matches.get_one::<String>("prefix").unwrap().to_string(),
}),
Some(("ingame", matches)) => command_s.try_send(Cmd::InGame {
prefix: matches.value_of("prefix").unwrap().to_string(),
prefix: matches.get_one::<String>("prefix").unwrap().to_string(),
}),
_ => Ok(()),
}

View File

@ -8,8 +8,8 @@ edition = "2021"
no-assets = []
hot-reloading = ["common-assets/hot-reloading"]
simd = ["vek/platform_intrinsics"]
bin_csv = ["ron", "csv", "structopt"]
bin_graphviz = ["petgraph", "structopt"]
bin_csv = ["ron", "csv", "clap"]
bin_graphviz = ["petgraph", "clap"]
bin_cmd_doc_gen = []
bin_asset_migrate = ["ron"]
rrt_pathfinding = ["kiddo"]
@ -40,7 +40,6 @@ strum = { version = "0.24", features = ["derive"] }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
approx = "0.4.0"
clap = "2.33"
crossbeam-utils = "0.8.1"
bitflags = "1.2"
crossbeam-channel = "0.5"
@ -67,11 +66,11 @@ serde_repr = "0.1.6"
ron = { version = "0.7", default-features = false, optional = true }
# csv export
csv = { version = "1.1.3", optional = true }
structopt = { version = "0.3.13", optional = true }
# graphviz exporters
petgraph = { version = "0.6", optional = true }
# K-d trees used for RRT pathfinding
kiddo = { version = "0.2", optional = true }
clap = { version = "4.2", optional = true }
# Data structures
hashbrown = { version = "0.13", features = ["rayon", "serde", "nightly"] }
@ -91,7 +90,6 @@ rand_chacha = "0.3"
tracing-subscriber = { version = "0.3.7", default-features = false, features = ["fmt", "time", "ansi", "smallvec", "env-filter"] }
petgraph = "0.6.0"
[[bench]]
name = "chonk_benchmark"
harness = false

View File

@ -1,11 +1,11 @@
#![deny(clippy::clone_on_ref_ptr)]
use clap::Parser;
use std::{
error::Error,
io::Write,
ops::{Div, Mul},
};
use structopt::StructOpt;
use veloren_common::{
assets::{self, AssetExt},
@ -24,7 +24,7 @@ use veloren_common::{
use vek::Vec3;
#[derive(StructOpt)]
#[derive(Parser)]
struct Cli {
/// Available arguments: "armor-stats", "weapon-stats", "all-items",
/// "loot-table", "entity-drops"
@ -496,7 +496,7 @@ fn entity_drops(entity_config: &str) -> Result<(), Box<dyn Error>> {
}
fn main() {
let args = Cli::from_args();
let args = Cli::parse();
if args.function.eq_ignore_ascii_case("armor-stats") {
if let Err(e) = armor_stats() {
println!("Error: {}\n", e)

View File

@ -1,11 +1,11 @@
#![deny(clippy::clone_on_ref_ptr)]
#![allow(clippy::expect_fun_call)] //TODO: evaluate to remove this and use `unwrap_or_else(panic!(...))` instead
use clap::Parser;
use hashbrown::HashMap;
use ron::ser::{to_string_pretty, PrettyConfig};
use serde::Serialize;
use std::{error::Error, fs::File, io::Write};
use structopt::StructOpt;
use veloren_common::{
assets::ASSETS_PATH,
@ -19,7 +19,7 @@ use veloren_common::{
},
};
#[derive(StructOpt)]
#[derive(Parser)]
struct Cli {
/// Available arguments: "armor-stats", "weapon-stats"
function: String,
@ -463,7 +463,7 @@ fn weapon_stats() -> Result<(), Box<dyn Error>> {
}
fn main() {
let args = Cli::from_args();
let args = Cli::parse();
if args.function.eq_ignore_ascii_case("armor-stats") {
if get_input(
"

View File

@ -1,10 +1,10 @@
use clap::Parser;
use hashbrown::HashMap;
use petgraph::{
dot::{Config, Dot},
Graph,
};
use std::{fs::File, io::Write};
use structopt::StructOpt;
use veloren_common::comp::{
item::tool::ToolKind,
skillset::{
@ -12,14 +12,14 @@ use veloren_common::comp::{
},
};
#[derive(StructOpt)]
#[derive(Parser)]
struct Cli {
/// Available arguments: "sword"
skill_group: String,
}
fn main() {
let args = Cli::from_args();
let args = Cli::parse();
let skill_group = match args.skill_group.as_str() {
"sword" => SkillGroupKind::Weapon(ToolKind::Sword),
_ => {

View File

@ -1,14 +1,16 @@
use clap::arg_enum;
use serde::{Deserialize, Serialize};
use specs::{Component, DerefFlaggedStorage, VecStorage};
use strum::EnumVariantNames;
arg_enum! {
#[derive(Clone, Copy, Debug, Eq, Ord, PartialEq, PartialOrd, Serialize, Deserialize)]
// EnumVariantNames is used by bins for clap only, but using strum here gets rid
// of the clap dependency
#[derive(
Clone, Copy, Debug, Eq, Ord, PartialEq, PartialOrd, Serialize, Deserialize, EnumVariantNames,
)]
pub enum AdminRole {
Moderator = 0,
Admin = 1,
}
}
#[derive(Copy, Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct Admin(pub AdminRole);

View File

@ -24,7 +24,7 @@ serde = { version = "1.0" }
socket2 = "0.5.2"
#sending
crossbeam-channel = "0.5"
tokio = { version = "1.15", default-features = false, features = ["io-util", "macros", "rt", "net", "time"] }
tokio = { version = "1.24", default-features = false, features = ["io-util", "macros", "rt", "net", "time"] }
tokio-stream = { version = "0.1.2", default-features = false }
#tracing and metrics
tracing = { version = "0.1", default-features = false, features = ["attributes"]}
@ -40,7 +40,7 @@ rand = { version = "0.8" }
quinn = { version = "0.8", optional = true }
rustls = "0.20.1"
#stream flags
bitflags = "1.2.1"
bitflags = "2.2.1"
lz-fear = { version = "0.1.1", optional = true }
# async traits
async-trait = "0.1.42"
@ -50,9 +50,9 @@ hashbrown = { version = "0.13" }
[dev-dependencies]
tracing-subscriber = { version = "0.3.7", default-features = false, features = ["env-filter", "fmt", "time", "ansi", "smallvec"] }
tokio = { version = "1.15", default-features = false, features = ["io-std", "fs", "rt-multi-thread"] }
tokio = { version = "1.24", default-features = false, features = ["io-std", "fs", "rt-multi-thread"] }
futures-util = { version = "0.3.7", default-features = false, features = ["sink", "std"] }
clap = { version = "3.1.8", default-features = false, features = ["std", "color", "suggestions"] }
clap = { version = "4.2", default-features = false, features = ["std", "color", "suggestions"] }
shellexpand = "3.1.0"
serde = { version = "1.0", features = ["derive"] }
prometheus-hyper = "0.1.2"

View File

@ -22,8 +22,7 @@ fn main() {
Arg::new("mode")
.short('m')
.long("mode")
.takes_value(true)
.possible_values(["server", "client", "both"])
.value_parser(["server", "client", "both"])
.default_value("both")
.help(
"choose whether you want to start the server or client or both needed for \
@ -34,23 +33,20 @@ fn main() {
Arg::new("port")
.short('p')
.long("port")
.takes_value(true)
.default_value("52000")
.help("port to listen on"),
)
.arg(
Arg::new("ip")
.long("ip")
.takes_value(true)
.default_value("127.0.0.1")
.help("ip to listen and connect to"),
)
.arg(
Arg::new("protocol")
.long("protocol")
.takes_value(true)
.default_value("tcp")
.possible_values(["tcp", "upd", "mpsc"])
.value_parser(["tcp", "upd", "mpsc"])
.help(
"underlying protocol used for this test, mpsc can only combined with mode=both",
),
@ -59,23 +55,22 @@ fn main() {
Arg::new("trace")
.short('t')
.long("trace")
.takes_value(true)
.default_value("warn")
.possible_values(["trace", "debug", "info", "warn", "error"])
.value_parser(["trace", "debug", "info", "warn", "error"])
.help("set trace level, not this has a performance impact!"),
)
.get_matches();
let trace = matches.value_of("trace").unwrap();
let trace = matches.get_one::<String>("trace").unwrap();
let filter = EnvFilter::from_default_env().add_directive(trace.parse().unwrap());
tracing_subscriber::FmtSubscriber::builder()
.with_max_level(Level::TRACE)
.with_env_filter(filter)
.init();
let port: u16 = matches.value_of("port").unwrap().parse().unwrap();
let ip: &str = matches.value_of("ip").unwrap();
let addresses = match matches.value_of("protocol") {
let port = matches.get_one::<u16>("port").unwrap();
let ip: &str = matches.get_one::<String>("ip").unwrap();
let addresses = match matches.get_one::<String>("protocol").map(|s| s.as_str()) {
Some("tcp") => (
ListenAddr::Tcp(format!("{}:{}", ip, port).parse().unwrap()),
ConnectAddr::Tcp(format!("{}:{}", ip, port).parse().unwrap()),
@ -88,7 +83,7 @@ fn main() {
};
let mut background = None;
match matches.value_of("mode") {
match matches.get_one::<String>("mode").map(|s| s.as_str()) {
Some("server") => server(addresses.0),
Some("client") => client(addresses.1),
Some("both") => {

View File

@ -24,22 +24,21 @@ fn main() {
Arg::new("port")
.short('p')
.long("port")
.takes_value(true)
.default_value("15006")
.value_parser(clap::value_parser!(u16))
.help("port to listen on"),
)
.arg(
Arg::new("trace")
.short('t')
.long("trace")
.takes_value(true)
.default_value("warn")
.possible_values(["trace", "debug", "info", "warn", "error"])
.value_parser(["trace", "debug", "info", "warn", "error"])
.help("set trace level, not this has a performance impact!"),
)
.get_matches();
let trace = matches.value_of("trace").unwrap();
let trace = matches.get_one::<String>("trace").unwrap();
let filter = EnvFilter::from_default_env()
.add_directive(trace.parse().unwrap())
.add_directive("fileshare::server=trace".parse().unwrap())
@ -49,7 +48,7 @@ fn main() {
.with_env_filter(filter)
.init();
let port: u16 = matches.value_of("port").unwrap().parse().unwrap();
let port = matches.get_one::<u32>("port").unwrap();
let address = ListenAddr::Tcp(format!("{}:{}", "127.0.0.1", port).parse().unwrap());
let runtime = Arc::new(Runtime::new().unwrap());
@ -70,7 +69,7 @@ fn file_exists(file: &str) -> Result<(), String> {
}
}
fn get_options<'a>() -> Command<'a> {
fn get_options() -> Command {
Command::new("")
.no_binary_name(true)
.subcommand_required(true)
@ -87,10 +86,7 @@ fn get_options<'a>() -> Command<'a> {
Arg::new("ip:port")
.help("ip and port to connect to, example '127.0.0.1:1231'")
.required(true)
.validator(|ipport| match ipport.parse::<std::net::SocketAddr>() {
Ok(_) => Ok(()),
Err(e) => Err(format!("must be valid Ip:Port combination {:?}", e)),
}),
.value_parser(clap::value_parser!(std::net::SocketAddr)),
),
)
.subcommand(Command::new("list").about("lists all available files on the network"))
@ -101,7 +97,7 @@ fn get_options<'a>() -> Command<'a> {
Arg::new("file")
.help("file to serve")
.required(true)
.validator(file_exists),
.value_parser(file_exists),
),
)
.subcommand(
@ -115,10 +111,7 @@ fn get_options<'a>() -> Command<'a> {
Arg::new("id")
.help("id to download. get the id from the `list` command")
.required(true)
.validator(|id| match id.parse::<u32>() {
Ok(_) => Ok(()),
Err(e) => Err(format!("must be a number {:?}", e)),
}),
.value_parser(clap::value_parser!(u32)),
)
.arg(Arg::new("file").help("local path to store the file to")),
)
@ -156,7 +149,7 @@ async fn client(cmd_sender: mpsc::UnboundedSender<LocalCommand>) {
},
Some(("connect", connect_matches)) => {
let socketaddr = connect_matches
.value_of("ip:port")
.get_one::<String>("ip:port")
.unwrap()
.parse()
.unwrap();
@ -172,7 +165,7 @@ async fn client(cmd_sender: mpsc::UnboundedSender<LocalCommand>) {
.unwrap();
},
Some(("serve", serve_matches)) => {
let path = shellexpand::tilde(serve_matches.value_of("file").unwrap());
let path = shellexpand::tilde(serve_matches.get_one::<String>("file").unwrap());
let path: PathBuf = path.parse().unwrap();
if let Some(fileinfo) = FileInfo::new(&path).await {
cmd_sender.send(LocalCommand::Serve(fileinfo)).unwrap();
@ -182,8 +175,8 @@ async fn client(cmd_sender: mpsc::UnboundedSender<LocalCommand>) {
cmd_sender.send(LocalCommand::List).unwrap();
},
Some(("get", get_matches)) => {
let id: u32 = get_matches.value_of("id").unwrap().parse().unwrap();
let file = get_matches.value_of("file");
let id = *get_matches.get_one::<u32>("id").unwrap();
let file = get_matches.get_one::<String>("file");
cmd_sender
.send(LocalCommand::Get(id, file.map(|s| s.to_string())))
.unwrap();

View File

@ -35,8 +35,7 @@ fn main() {
Arg::new("mode")
.short('m')
.long("mode")
.takes_value(true)
.possible_values(["server", "client", "both"])
.value_parser(["server", "client", "both"])
.default_value("both")
.help(
"choose whether you want to start the server or client or both needed for \
@ -47,23 +46,21 @@ fn main() {
Arg::new("port")
.short('p')
.long("port")
.takes_value(true)
.default_value("52000")
.value_parser(clap::value_parser!(u16))
.help("port to listen on"),
)
.arg(
Arg::new("ip")
.long("ip")
.takes_value(true)
.default_value("127.0.0.1")
.help("ip to listen and connect to"),
)
.arg(
Arg::new("protocol")
.long("protocol")
.takes_value(true)
.default_value("tcp")
.possible_values(["tcp", "udp", "mpsc"])
.value_parser(["tcp", "udp", "mpsc"])
.help(
"underlying protocol used for this test, mpsc can only combined with mode=both",
),
@ -72,14 +69,13 @@ fn main() {
Arg::new("trace")
.short('t')
.long("trace")
.takes_value(true)
.default_value("warn")
.possible_values(["trace", "debug", "info", "warn", "error"])
.value_parser(["trace", "debug", "info", "warn", "error"])
.help("set trace level, not this has a performance impact!"),
)
.get_matches();
let trace = matches.value_of("trace").unwrap();
let trace = matches.get_one::<String>("trace").unwrap();
let filter = EnvFilter::from_default_env()
.add_directive(trace.parse().unwrap())
.add_directive("network_speed=debug".parse().unwrap())
@ -94,9 +90,9 @@ fn main() {
.with_env_filter(filter)
.init();
let port: u16 = matches.value_of("port").unwrap().parse().unwrap();
let ip: &str = matches.value_of("ip").unwrap();
let addresses = match matches.value_of("protocol") {
let port = matches.get_one::<u16>("port").unwrap();
let ip: &str = matches.get_one::<String>("ip").unwrap();
let addresses = match matches.get_one::<String>("protocol").map(|s| s.as_str()) {
Some("tcp") => (
ListenAddr::Tcp(format!("{}:{}", ip, port).parse().unwrap()),
ConnectAddr::Tcp(format!("{}:{}", ip, port).parse().unwrap()),
@ -110,7 +106,7 @@ fn main() {
let mut background = None;
let runtime = Arc::new(Runtime::new().unwrap());
match matches.value_of("mode") {
match matches.get_one::<String>("mode").map(|s| s.as_str()) {
Some("server") => server(addresses.0, Arc::clone(&runtime)),
Some("client") => client(addresses.1, Arc::clone(&runtime)),
Some("both") => {

View File

@ -28,7 +28,7 @@ hashbrown = { version = "0.13" }
[dev-dependencies]
async-channel = "1.5.1"
tokio = { version = "1.15", default-features = false, features = ["rt", "macros"] }
tokio = { version = "1.24", default-features = false, features = ["rt", "macros"] }
criterion = { version = "0.3.4", features = ["default", "async_tokio"] }
[[bench]]

View File

@ -11,5 +11,5 @@ proc-macro = true
[dependencies]
proc-macro2 = "1.0.24"
syn = { version = "1.0.54", features = ["full","extra-traits"]}
syn = { version = "2", features = ["full","extra-traits"]}
quote = "1.0.7"

View File

@ -35,17 +35,18 @@ common-net = { package = "veloren-common-net", path = "../common/net" }
common-frontend = { package = "veloren-common-frontend", path = "../common/frontend" }
world = { package = "veloren-world", path = "../world", optional = true }
tokio = { version = "1.15", default-features = false, features = ["rt-multi-thread"] }
tokio = { version = "1.24", default-features = false, features = ["rt-multi-thread"] }
num_cpus = "1.0"
cansi = "2.2.1"
clap = { version = "3.1.8", features = ["derive"] }
crossterm = "0.25"
clap = { version = "4.2", features = ["derive"] }
crossterm = "0.26"
lazy_static = "1"
signal-hook = "0.3.6"
shell-words = "1.0.0"
tracing = { version = "0.1", default-features = false }
ron = {version = "0.8", default-features = false}
serde = {version = "1.0", features = [ "rc", "derive" ]}
strum = { version = "0.24" }
[target.'cfg(windows)'.dependencies]
mimalloc = "0.1.29"

View File

@ -1,17 +1,18 @@
use clap::StructOpt;
use clap::Parser;
use common::comp;
use server::persistence::SqlLogMode;
use std::sync::mpsc::Sender;
use strum::VariantNames;
use tracing::error;
#[derive(Clone, Debug, StructOpt)]
#[derive(Clone, Debug, Parser)]
pub enum Admin {
/// Adds an admin
Add {
/// Name of the admin to whom to assign a role
username: String,
/// role to assign to the admin
#[structopt(possible_values = comp::AdminRole::variants(), ignore_case = true)]
#[arg(ignore_case = true, value_parser = clap::builder::PossibleValuesParser::new(comp::AdminRole::VARIANTS))]
role: comp::AdminRole,
},
Remove {
@ -20,7 +21,7 @@ pub enum Admin {
},
}
#[derive(Clone, Debug, StructOpt)]
#[derive(Clone, Debug, Parser)]
pub enum Shutdown {
/// Closes the server immediately
Immediate,
@ -28,7 +29,7 @@ pub enum Shutdown {
Graceful {
/// Number of seconds to wait before shutting down
seconds: u64,
#[structopt(short, long, default_value = "The server is shutting down")]
#[arg(short, long, default_value = "The server is shutting down")]
/// Shutdown reason
reason: String,
},
@ -36,22 +37,22 @@ pub enum Shutdown {
Cancel,
}
#[derive(Clone, Debug, StructOpt)]
#[derive(Clone, Debug, Parser)]
pub enum SharedCommand {
/// Perform operations on the admin list
Admin {
#[structopt(subcommand)]
#[command(subcommand)]
command: Admin,
},
}
#[derive(Debug, Clone, StructOpt)]
#[derive(Debug, Clone, Parser)]
pub enum Message {
#[structopt(flatten)]
#[command(flatten)]
Shared(SharedCommand),
/// Shut down the server (or cancel a shut down)
Shutdown {
#[structopt(subcommand)]
#[command(subcommand)]
command: Shutdown,
},
/// Loads up the chunks at map center and adds a entity that mimics a
@ -62,15 +63,15 @@ pub enum Message {
},
/// Enable or disable sql logging
SqlLogMode {
#[structopt(default_value_t, possible_values = SqlLogMode::variants())]
#[arg(default_value_t, value_parser = SqlLogMode::variants())]
mode: SqlLogMode,
},
/// Disconnects all connected clients
DisconnectAllClients,
}
#[derive(StructOpt)]
#[structopt(
#[derive(Parser)]
#[command(
name = "Veloren server TUI",
version = common::util::DISPLAY_VERSION_LONG.as_str(),
about = "The veloren server tui allows sending commands directly to the running server.",
@ -78,41 +79,41 @@ pub enum Message {
)]
#[clap(no_binary_name = true)]
pub struct TuiApp {
#[structopt(subcommand)]
#[command(subcommand)]
command: Message,
}
#[derive(StructOpt)]
#[derive(Parser)]
pub enum ArgvCommand {
#[structopt(flatten)]
#[command(flatten)]
Shared(SharedCommand),
}
#[derive(StructOpt)]
#[structopt(
#[derive(Parser)]
#[command(
name = "Veloren server CLI",
version = common::util::DISPLAY_VERSION_LONG.as_str(),
about = "The veloren server cli provides an easy to use interface to start a veloren server.",
author = "The veloren devs <https://gitlab.com/veloren/veloren>",
)]
pub struct ArgvApp {
#[structopt(long, short)]
#[arg(long, short)]
/// Enables the tui
pub tui: bool,
#[structopt(long, short)]
#[arg(long, short)]
/// Doesn't listen on STDIN
///
/// Useful if you want to send the server in background, and your kernels
/// terminal driver will send SIGTTIN to it otherwise. (https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html#Redirections) and you dont want to use `stty -tostop`
/// or `nohub` or `tmux` or `screen` or `<<< \"\\004\"` to the program.
pub non_interactive: bool,
#[structopt(long)]
#[arg(long)]
/// Run without auth enabled
pub no_auth: bool,
#[structopt(default_value_t, long, short, possible_values = SqlLogMode::variants())]
#[arg(default_value_t, long, short, value_parser = SqlLogMode::variants())]
/// Enables SQL logging
pub sql_log_mode: SqlLogMode,
#[structopt(subcommand)]
#[command(subcommand)]
pub command: Option<ArgvCommand>,
}

View File

@ -38,12 +38,12 @@ num_cpus = "1.0"
tracing = "0.1"
vek = { version = "0.15.8", features = ["serde"] }
futures-util = "0.3.7"
tokio = { version = "1.15", default-features = false, features = ["rt"] }
tokio = { version = "1.24", default-features = false, features = ["rt"] }
prometheus-hyper = "0.1.4"
quinn = "0.8"
rustls = { version = "0.20", default-features = false }
rustls-pemfile = { version = "1", default-features = false }
atomicwrites = "0.3.0"
atomicwrites = "0.4"
chrono = { version = "0.4.22", features = ["serde"] }
chrono-tz = { version = "0.8", features = ["serde"] }
drop_guard = { version = "0.3.0" }
@ -66,7 +66,7 @@ rand_distr = "0.4.0"
enumset = "1.0.8"
enum-map = "2.4"
noise = { version = "0.7", default-features = false }
censor = "0.2"
censor = "0.3"
rusqlite = { version = "0.28.0", features = ["array", "vtab", "bundled", "trace"] }
refinery = { version = "0.8.8", features = ["rusqlite"] }

View File

@ -96,7 +96,7 @@ gilrs = {version = "0.10.0", features = ["serde-serialize"]}
server = { package = "veloren-server", path = "../server", optional = true, default-features = false, features = ["worldgen"] }
# CLI
clap = { version = "3.2.20", features = ["derive"] }
clap = { version = "4.2", features = ["derive"] }
# Utility
assets_manager = {version = "0.10", features = ["ab_glyph"]}
@ -130,7 +130,7 @@ slab = "0.4.2"
strum = { version = "0.24", features = ["derive"] }
tracing = "0.1"
treeculler = "0.2"
tokio = { version = "1.15", default-features = false, features = ["rt-multi-thread"] }
tokio = { version = "1.24", default-features = false, features = ["rt-multi-thread"] }
num_cpus = "1.0"
inline_tweak = "1.0.2"
itertools = "0.10.0"

View File

@ -50,7 +50,7 @@ flate2 = { version = "1.0.20", optional = true }
num-traits = { version = "0.2", optional = true }
fallible-iterator = { version = "0.2.0", optional = true }
rstar = { version = "0.10", optional = true }
clap = { version = "3.1.8", optional = true }
clap = { version = "4.2", optional = true }
[dev-dependencies]
@ -58,10 +58,9 @@ common-frontend = { package = "veloren-common-frontend", path = "../common/front
criterion = "0.3"
csv = "1.1.3"
tracing-subscriber = { version = "0.3.7", default-features = false, features = ["fmt", "time", "ansi", "smallvec", "env-filter"] }
minifb = "0.23"
minifb = "0.24"
rusqlite = { version = "0.28.0", features = ["array", "vtab", "bundled", "trace"] }
svg_fmt = "0.4"
structopt = "0.3"
strum = "0.24"
[[bench]]

View File

@ -254,8 +254,8 @@ fn main() -> Result<(), Box<dyn Error>> {
Arg::new("database")
.required(true)
.help("File to generate/resume generation"),
Arg::new("ymin").long("ymin").takes_value(true),
Arg::new("ymax").long("ymax").takes_value(true),
Arg::new("ymin").long("ymin"),
Arg::new("ymax").long("ymax"),
]),
)
.subcommand(
@ -267,14 +267,19 @@ fn main() -> Result<(), Box<dyn Error>> {
let matches = app.clone().get_matches();
match matches.subcommand() {
Some(("generate", matches)) => {
let db_path = matches.value_of("database").expect("database is required");
let ymin = matches.value_of("ymin").and_then(|x| i32::from_str(x).ok());
let ymax = matches.value_of("ymax").and_then(|x| i32::from_str(x).ok());
let db_path = matches
.get_one::<String>("database")
.expect("database is required");
let ymin = matches.get_one::<i32>("ymin").cloned();
let ymax = matches.get_one::<i32>("ymax").cloned();
generate(db_path, ymin, ymax)?;
},
Some(("palette", matches)) => {
let conn =
Connection::open(matches.value_of("database").expect("database is required"))?;
let conn = Connection::open(
matches
.get_one::<String>("database")
.expect("database is required"),
)?;
palette(conn)?;
},
_ => {