unity-asset-cli 0.2.0

Command-line tools for Unity asset parsing and manipulation
[package]
name = "unity-asset-cli"
version = "0.2.0"
edition.workspace = true
authors.workspace = true
description = "Command-line tools for Unity asset parsing and manipulation"
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation = "https://docs.rs/unity-asset-cli"
keywords = ["unity", "assets", "cli", "parser", "game"]
categories = ["command-line-utilities", "parsing", "game-development"]
exclude = [
    "tests/fixtures/*",
    "tests/samples/*",
    "*.ab",
    "*.unity",
    "*.asset",
    "*.prefab",
    "*.meta",
]

[[bin]]
name = "unity-asset"
path = "src/main.rs"

[[bin]]
name = "unity-asset-async"
path = "src/main_async.rs"
required-features = ["async"]

[dependencies]
# Core library
unity-asset = { path = "../unity-asset-lib", version = "0.2.0" }
unity-asset-binary = { path = "../unity-asset-binary", version = "0.2.0" }
unity-asset-decode = { path = "../unity-asset-decode", version = "0.2.0", features = ["audio", "sprite", "texture-advanced"], optional = true }

# CLI dependencies
clap = { workspace = true }
anyhow = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
memmap2 = { version = "0.9.9", optional = true }
tracing = { version = "0.1.41" }
tracing-subscriber = { version = "0.3.20", features = ["env-filter"] }

# Async CLI dependencies (optional)
tokio = { version = "1.0", features = ["fs", "io-util", "rt-multi-thread", "macros"], optional = true }
futures = { version = "0.3", optional = true }
indicatif = { version = "0.18", optional = true }

[features]
default = ["mmap"]
async = ["unity-asset/async", "tokio", "futures", "indicatif"]
decode = ["dep:unity-asset-decode"]
mmap = ["unity-asset/mmap", "unity-asset-binary/mmap", "dep:memmap2"]
full = ["decode", "mmap"]

[dev-dependencies]
tempfile = { workspace = true }

[package.metadata.docs.rs]
no-default-features = true
all-features = false
features = []
rustdoc-args = ["--cfg", "docsrs"]