# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "romm-cli"
version = "0.35.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust-based CLI and TUI for the ROMM API"
readme = "README.md"
keywords = [
    "romm",
    "terminal",
    "tui",
    "emulator",
    "games",
]
categories = [
    "command-line-utilities",
    "emulators",
]
license = "MIT"
repository = "https://github.com/patricksmill/romm-cli"

[features]
default = ["tui"]
tui = [
    "dep:ratatui",
    "dep:crossterm",
    "dep:unicode-normalization",
    "dep:ratatui-image",
    "dep:image",
]

[lib]
name = "romm_cli"
path = "src/lib.rs"

[[bin]]
name = "romm-cli"
path = "src/main.rs"

[[bin]]
name = "romm-openapi-gen"
path = "tools/openapi_gen.rs"

[[bin]]
name = "romm-tui"
path = "src/bin/romm_tui.rs"
required-features = ["tui"]

[[test]]
name = "cli_api"
path = "tests/cli_api.rs"

[[test]]
name = "cli_auth"
path = "tests/cli_auth.rs"

[[test]]
name = "cli_cache"
path = "tests/cli_cache.rs"

[[test]]
name = "cli_download"
path = "tests/cli_download.rs"

[[test]]
name = "cli_init"
path = "tests/cli_init.rs"

[[test]]
name = "cli_platforms"
path = "tests/cli_platforms.rs"

[[test]]
name = "cli_roms"
path = "tests/cli_roms.rs"

[[test]]
name = "cli_scan"
path = "tests/cli_scan.rs"

[[test]]
name = "cli_sync"
path = "tests/cli_sync.rs"

[[test]]
name = "openapi_registry"
path = "tests/openapi_registry.rs"

[[test]]
name = "release_check"
path = "tests/release_check.rs"

[[test]]
name = "tui_app"
path = "tests/tui_app.rs"

[dependencies.anyhow]
version = "1.0"

[dependencies.base64]
version = "0.22"

[dependencies.clap]
version = "4.5"
features = ["derive"]

[dependencies.crossterm]
version = "0.29"
optional = true

[dependencies.dialoguer]
version = "0.12"
features = ["password"]
default-features = false

[dependencies.dirs]
version = "6.0"

[dependencies.image]
version = "0.25.10"
optional = true

[dependencies.indicatif]
version = "0.18.4"

[dependencies.keyring]
version = "4.0.1"

[dependencies.keyring-core]
version = "1.0.0"

[dependencies.md5]
version = "0.8"

[dependencies.percent-encoding]
version = "2.3"

[dependencies.ratatui]
version = "0.30"
optional = true

[dependencies.ratatui-image]
version = "11.0.2"
features = [
    "crossterm",
    "image-defaults",
]
optional = true
default-features = false

[dependencies.reqwest]
version = "0.13"
features = [
    "json",
    "multipart",
    "query",
    "rustls",
    "http2",
]
default-features = false

[dependencies.self_update]
version = "0.44.0"
features = [
    "reqwest",
    "rustls",
    "archive-zip",
    "archive-tar",
    "compression-flate2",
    "compression-zip-deflate",
]
default-features = false

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dependencies.sha2]
version = "0.11"

[dependencies.time]
version = "0.3"
features = ["formatting"]

[dependencies.tokio]
version = "1.37"
features = [
    "macros",
    "rt-multi-thread",
    "fs",
    "io-util",
    "time",
    "signal",
]

[dependencies.tracing]
version = "0.1.44"

[dependencies.tracing-subscriber]
version = "0.3.23"
features = ["env-filter"]

[dependencies.unicode-normalization]
version = "0.1"
optional = true

[dependencies.zip]
version = "8.5.1"

[dev-dependencies.assert_cmd]
version = "2.0"

[dev-dependencies.httpmock]
version = "0.7"

[dev-dependencies.predicates]
version = "3.1"

[dev-dependencies.wiremock]
version = "0.6.5"
