Files
unshell/Cargo.toml
T

130 lines
3.6 KiB
TOML
Raw Normal View History

2026-04-25 11:36:10 -06:00
cargo-features = ["trim-paths", "panic-immediate-abort"]
2026-01-26 09:13:46 -07:00
[workspace]
2026-04-24 13:37:30 -06:00
members = [
2026-04-24 14:10:03 -06:00
"ush-obfuscate",
"base62",
2026-04-25 14:41:00 -06:00
"unshell-macros",
"unshell-protocol",
"unshell-leaves",
2026-04-24 16:19:42 -06:00
"treetest",
2026-04-24 13:37:30 -06:00
]
resolver = "2"
2026-01-26 09:13:46 -07:00
[workspace.package]
version = "0.1.0"
edition = "2024"
authors = ["ASTATIN3"]
license = "MIT"
repository = "https://github.com/Astatin3/unshell"
include = ["LICENSE", "**/*.rs", "Cargo.toml"]
[workspace.dependencies]
2026-04-24 13:37:30 -06:00
rkyv = "0.8.16"
thiserror = "2.0.18"
2026-04-24 12:32:24 -06:00
chrono = "0.4.44"
2026-04-24 13:37:30 -06:00
static_init = "1.0.4"
2026-04-25 14:41:00 -06:00
syn = "2.0.117"
quote = "1.0.45"
proc-macro2 = "1.0.106"
2026-04-25 17:42:39 -06:00
portable-pty = "0.9.0"
2026-04-25 13:43:19 -06:00
unshell = { path = "." }
unshell-protocol = { path = "./unshell-protocol" }
unshell-leaves = { path = "./unshell-leaves" }
2026-04-24 13:37:30 -06:00
# ush-obfuscate = { path = "./ush-obfuscate" }
# base62 = { path = "./base62" }
2026-01-26 09:13:46 -07:00
[package]
name = "unshell"
version.workspace = true
edition.workspace = true
2026-04-24 13:37:30 -06:00
description = "Pure no_std implementation of the UnShell Protocol"
2026-03-17 16:40:05 -06:00
[features]
2026-04-24 13:37:30 -06:00
default = []
log = []
log_debug = ["log", "dep:chrono"]
# Leaf features
leaf_endpoint = ["unshell-leaves/leaf_endpoint"]
leaf_tui = ["unshell-leaves/leaf_tui"]
2026-04-24 13:37:30 -06:00
# obfuscate_aes = ["ush-obfuscate/obfuscate_aes"]
# obfuscate_ref = ["ush-obfuscate/obfuscate_ref"]
2026-01-26 09:13:46 -07:00
[dependencies]
rkyv = { workspace = true }
2026-04-24 13:37:30 -06:00
thiserror = { workspace = true, optional = true }
chrono = { workspace = true, optional = true }
2026-04-24 13:37:30 -06:00
# ush-obfuscate = { workspace = true }
static_init = { workspace = true }
2026-04-25 14:41:00 -06:00
unshell-macros = { path = "./unshell-macros" }
unshell-protocol = { workspace = true }
unshell-leaves = { workspace = true }
2026-04-25 14:46:59 -06:00
[[example]]
name = "leaf_derive"
path = "examples/protocol/leaf_derive.rs"
[[example]]
name = "remote_shell_endpoint"
path = "examples/protocol/remote_shell_endpoint.rs"
required-features = ["leaf_endpoint"]
2026-04-25 14:46:59 -06:00
[[example]]
name = "remote_shell_receive"
path = "examples/protocol/remote_shell_receive.rs"
required-features = ["leaf_endpoint"]
2026-04-25 14:46:59 -06:00
[[example]]
name = "remote_shell_single_endpoint"
path = "examples/protocol/remote_shell_single_endpoint.rs"
required-features = ["leaf_endpoint"]
2026-04-25 14:46:59 -06:00
[[example]]
name = "bench"
path = "examples/protocol/bench/bench.rs"
[[example]]
name = "op_encode_call"
path = "examples/protocol/bench/op_encode_call.rs"
[[example]]
name = "op_decode_call"
path = "examples/protocol/bench/op_decode_call.rs"
[[example]]
name = "op_forward_call_receive"
path = "examples/protocol/bench/op_forward_call_receive.rs"
[[example]]
name = "op_local_call_receive"
path = "examples/protocol/bench/op_local_call_receive.rs"
[[example]]
name = "op_hook_data_receive"
path = "examples/protocol/bench/op_hook_data_receive.rs"
2026-04-25 11:36:10 -06:00
[profile.minimize]
inherits = "release"
strip = true # Strip symbols from the binary
opt-level = "z" # Optimize for size
lto = true # Link tree optimization
codegen-units = 1
panic = "immediate-abort"
debug = false # Remove debug
trim-paths="all"
2026-04-24 13:37:30 -06:00
[lints.rust]
elided_lifetimes_in_paths = "warn"
future_incompatible = { level = "warn", priority = -1 }
nonstandard_style = { level = "warn", priority = -1 }
rust_2018_idioms = { level = "warn", priority = -1 }
rust_2021_prelude_collisions = "warn"
2026-01-26 09:13:46 -07:00
semicolon_in_expressions_from_macros = "warn"
unsafe_op_in_unsafe_fn = "warn"
unused_import_braces = "warn"
unused_lifetimes = "warn"
trivial_casts = "allow"
missing_docs = "warn"