[workspace] resolver = "3" members = [ "pumpkin-api-macros", "pumpkin-config", "pumpkin-util", "pumpkin-inventory", "pumpkin-macros/", "pumpkin-protocol/", "pumpkin-world", "pumpkin/", "pumpkin-data", "pumpkin-plugin-api", "pumpkin-codecs" ] exclude = ["pumpkin-codegen"] [workspace.lints.clippy] # Groups all = { level = "deny", priority = -1 } nursery = { level = "deny", priority = -1 } pedantic = { level = "deny", priority = -1 } cargo = { level = "deny", priority = -1 } if_then_some_else_none = "deny" empty_enum_variants_with_brackets = "deny" empty_structs_with_brackets = "deny" separated_literal_suffix = "deny" semicolon_outside_block = "deny" redundant_test_prefix = "deny" non_zero_suggestions = "deny" dbg_macro = "deny" rc_buffer = "deny" verbose_file_reads = "deny" string_lit_chars_any = "deny" use_self = "deny" useless_let_if_seq = "deny" branches_sharing_code = "deny" equatable_if_let = "deny" option_if_let_else = "deny" needless_pass_by_ref_mut = "deny" needless_collect = "deny" redundant_clone = "deny" set_contains_or_insert = "deny" significant_drop_in_scrutinee = "deny" print_stdout = "deny" print_stderr = "deny" todo = "deny" unreachable = "deny" unimplemented = "deny" # indexing_slicing = "deny" # Expected/Allowed cargo_common_metadata = "allow" cast_precision_loss = "allow" multiple_crate_versions = "allow" single_call_fn = "allow" similar_names = "allow" unreadable_literal = "allow" many_single_char_names = "allow" suboptimal_flops = "allow" cast_lossless = "allow" while_float = "allow" or_fun_call = "allow" significant_drop_tightening = "allow" suspicious_operation_groupings = "allow" literal_string_with_formatting_args = "allow" future_not_send = "allow" cast_sign_loss = "allow" float_cmp = "allow" cast_possible_truncation = "allow" cast_possible_wrap = "allow" missing_panics_doc = "allow" missing_errors_doc = "allow" module_name_repetitions = "allow" struct_excessive_bools = "allow" [workspace.package] version = "0.1.0-dev+26.2" edition = "2024" rust-version = "1.95" license = "GPL-3.0" [profile.release] lto = true strip = "debuginfo" codegen-units = 1 [profile.bench] debug = true [profile.profiling] inherits = "release" debug = true strip = false [workspace.dependencies] serde_json5 = "0.2.1" tokio = { version = "1.53", default-features = false } syn = { version = "3.0", default-features = false, features = ["full", "parsing", "printing", "proc-macro", "clone-impls", "derive"] } thiserror = { version = "2.0", default-features = false } bytes = { version = "1.12", default-features = false, features = ["std"] } # Concurrency/Parallelism and Synchronization futures = { version = "0.3", default-features = false, features = ["executor"] } rayon = { version = "1.12", default-features = false } crossbeam = { version = "0.8", default-features = false, features = ["std"] } uuid = { version = "1.24", default-features = false, features = ["serde", "v3", "v4", "std"] } serde = { version = "1.0", default-features = false, features = ["derive", "std"] } serde_repr = { version = "0.1", default-features = false } serde_json = { version = "1.0", default-features = false, features = ["std"] } tempfile = { version = "3.27.0", default-features = false } proc-macro-error2 = { version = "2", default-features = false } aes = { version = "0.9", default-features = false } async-compression = { version = "0.4.42", default-features = false } base64 = { version = "0.22.1", default-features = false, features = ["std"] } bitflags = { version = "2.13.1", default-features = false, features = ["std"] } cesu8 = { version = "1.1", default-features = false } cfb8 = { version = "0.9", default-features = false } ctr = { version = "0.10.1", default-features = false } colored = { version = "3.1", default-features = false } console-subscriber = { version = "0.5.0", default-features = false } crc-fast = { version = "1.10.0", default-features = false, features = ["std"] } criterion = { version = "0.8", default-features = false } crossbeam-utils = { version = "0.8.22", default-features = false, features = ["std"] } crossfire = { version = "3.1.19", default-features = false, features = ["compat"] } crypto-bigint = { version = "0.7.5", default-features = false } dashmap = { version = "6.2", default-features = false } ecdsa = { version = "0.17.0", default-features = false, features = ["std"] } either = { version = "1.16.0", default-features = false } enum_dispatch = { version = "0.3.13", default-features = false } flate2 = { version = "1.1.9", default-features = false, features = ["rust_backend"] } heck = { version = "0.5", default-features = false } hmac = { version = "=0.13.0", default-features = false } indexmap = { version = "2.14", default-features = false, features = ["std"] } itertools = { version = "0.15.0", default-features = false, features = ["use_std"] } libloading = { version = "0.9", default-features = false, features = ["std"] } lru = { version = "0.18.1", default-features = false } lz4-java-wrc = { version = "0.2.0", default-features = false, features = ["lz4_flex"] } md5 = { version = "0.8", default-features = false } num-bigint = { version = "0.5", default-features = false, features = ["std"] } num-derive = { version = "0.4", default-features = false } num-traits = { version = "0.2", default-features = false, features = ["std"] } p384 = { version = "0.14.0", default-features = false, features = ["std", "arithmetic", "pkcs8", "ecdh"] } phf = { version = "0.14.0", default-features = false, features = ["std"] } proc-macro2 = { version = "1.0", default-features = false, features = ["proc-macro"] } pumpkin-codecs = { path = "pumpkin-codecs", default-features = false } pumpkin-config = { path = "pumpkin-config", default-features = false } pumpkin-data = { path = "pumpkin-data", default-features = false } pumpkin-inventory = { path = "pumpkin-inventory", default-features = false } pumpkin-macros = { path = "pumpkin-macros", default-features = false } pumpkin-nbt = { path = "pumpkin-nbt", default-features = false } pumpkin-protocol = { path = "pumpkin-protocol", default-features = false } pumpkin-util = { path = "pumpkin-util", default-features = false } pumpkin-world = { path = "pumpkin-world", default-features = false } quote = { version = "1.0", default-features = false, features = ["proc-macro"] } rand = { version = "0.10.2", default-features = false, features = ["std", "std_rng", "thread_rng"] } rsa = { version = "=0.10.0-rc.18", default-features = false, features = ["std", "encoding"] } cipher = { version = "0.5.2", default-features = false } rustc-hash = { version = "2.1.3", default-features = false, features = ["std"] } rustyline = { version = "18.0.1", default-features = false, features = ["with-file-history"] } ruzstd = { version = "0.8.3", default-features = false, features = ["std"] } sha1 = { version = "=0.11.0", default-features = false, features = ["oid"] } sha2 = { version = "=0.11.0", default-features = false, features = ["oid"] } signature = { version = "3.0.0", default-features = false, features = ["std"] } tracing = { version = "0.1.44", default-features = false, features = ["std", "attributes"] } tracing-subscriber = { version = "0.3.23", default-features = false, features = [ "env-filter", "fmt", "ansi", "time", "std", ] } slotmap = { version = "1.1", default-features = false, features = ["std"] } temp-dir = { version = "0.2.0", default-features = false } thread_local = { version = "1.1.10", default-features = false } time = { version = "0.3", default-features = false, features = ["std"] } arc-swap = { version = "1.9", default-features = false } tokio-util = { version = "0.7.18", default-features = false } toml = { version = "1.1", default-features = false, features = ["parse", "display", "serde"] } ureq = { version = "3.3.0", default-features = false, features = ["rustls"] } notify = { version = "8.2.0", default-features = false, features = ["macos_fsevent"] } sysinfo = { version = "0.39", default-features = false, features = ["system"] } rustc_version_runtime = { version = "0.3", default-features = false } ordered-float = { version = "5.3", default-features = false, features = ["std"] } xxhash-rust = { version = "0.8", default-features = false, features = ["xxh64"] } wasmtime = { version = "46.0", default-features = false, features = ["runtime", "component-model", "async", "cache", "cranelift", "gc", "gc-drc", "threads", "std"] } wasmtime-wasi = { version = "46.0", default-features = false, features = ["p2"] } wasmtime-wasi-http = { version = "46.0", default-features = false, features = ["p2", "default-send-request"] } # needed for interacting with wasmtime-wasi-http - keep in sync hyper = { version = "^1.10", default-features = false } wit-bindgen = { version = "0.59", default-features = false, features = ["macros"] } postcard = { version = "1.1", default-features = false, features = ["alloc"] } tracing-serde-structured = { version = "0.4", default-features = false }