[package]
name = "actr-cli"
version = "0.3.1"
edition = "2024"
rust-version = "1.88"
license = "Apache-2.0"
repository = "https://github.com/actor-rtc/actr"
description = "Command line tool for Actor-RTC framework projects"
keywords = ["actor", "cli", "codegen", "protobuf", "framework"]
categories = ["command-line-utilities", "development-tools"]
include = [
"Cargo.toml",
"LICENSE",
"README.md",
"build.rs",
"src/**",
"fixtures/**",
"assets/web-runtime/actor.sw.js",
"assets/web-runtime/actr-host.html",
"assets/web-runtime/actr_sw_host.js",
"assets/web-runtime/actr_sw_host_bg.wasm",
]
[features]
default = ["dynclib-engine"]
test-utils = ["dep:actr-mock-actrix", "dep:rusqlite"]
wasm-engine = ["actr-hyper/wasm-engine"]
dynclib-engine = ["actr-hyper/dynclib-engine"]
[[bin]]
name = "actr"
path = "src/main.rs"
[dependencies]
actr = { path = "..", version = "0.3.1", features = ["config"] }
actr-hyper = { path = "../core/hyper", version = "0.3.1" }
actr-pack.workspace = true
actr-platform-native = { path = "../core/platform-native", version = "0.3.1" }
rand.workspace = true
actr-runtime-mailbox = { path = "../core/runtime-mailbox", version = "0.3.1" }
actr-config = { path = "../core/config", version = "0.3.1" }
actr-protocol = { path = "../core/protocol", version = "0.3.1" }
actr-service-compat = { path = "../core/service-compat", version = "0.3.1" }
actr-framework-protoc-codegen = { path = "../tools/protoc-gen/rust", version = "0.3.1" }
clap = { version = "4.5", features = ["derive", "cargo"] }
clap_complete = "4.5"
dialoguer = "0.12.0"
anyhow = "1.0"
thiserror.workspace = true
async-trait = "0.1"
fs_extra = "1.3"
tempfile = "3.22"
dirs = "5.0"
walkdir = "2.5"
rusqlite = { version = "0.32", features = ["bundled"], optional = true }
tokio = { version = "1.48", features = ["full"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
owo-colors = "4.1.0"
comfy-table = "7.1"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls-native-roots", "stream"] }
git2 = "0.20"
cargo_metadata = "0.18"
handlebars = "5.1"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
toml.workspace = true
toml_edit = "0.22"
chrono = { version = "0.4", features = ["serde"] }
md5 = "0.7"
sha2 = "0.10"
hex = "0.4"
ed25519-dalek = "2"
base64 = "0.22"
url = "2.5"
prost-build = "0.14"
prost = "0.14"
prost-types = "0.14"
quote = "1.0"
proc-macro2 = "1.0"
bytes = "1.0"
heck = "0.5"
tokio-tungstenite = { version = "0.28.0", features = ["rustls-tls-native-roots"] }
futures-util = "0.3"
uuid = { version = "1.19.0", features = ["v4"] }
rust-embed = "8.11.0"
actr-mock-actrix = { workspace = true, optional = true }
axum = "0.8"
tower-http = { version = "0.6", features = ["fs", "cors", "set-header"] }
mime_guess = "2.0"
[target.'cfg(unix)'.dependencies]
nix = { version = "0.29", features = ["process", "signal", "fs"] }
[dev-dependencies]
tokio-test = "0.4"
tempfile = "3.22"
actr-cli = { path = ".", features = ["test-utils"] }
[lints.clippy]
collapsible_if = "allow"