[package]
name = "maa-framework"
version.workspace = true
authors.workspace = true
edition.workspace = true
description = "Rust bindings for MaaFramework"
license.workspace = true
homepage.workspace = true
repository.workspace = true
keywords = ["maa", "automation", "framework", "binding"]
categories = ["api-bindings", "development-tools"]
readme = "../README.md"
exclude = ["MaaFramework", "install", "download_plugins", ".github", ".vscode"]

[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "2.0"
bitflags = "2"
image = { version = "0.25", optional = true }
# Explicit path so we can set default-features = false (workspace dep cannot override it).
maa-framework-sys = { workspace = true }

[features]
default = ["toolkit", "adb", "win32", "custom", "internal"]
static = ["maa-framework-sys/static"]
dynamic = ["maa-framework-sys/dynamic"]
toolkit = ["maa-framework-sys/toolkit"]
adb = []
win32 = []
custom = [
    "custom_recognizer",
    "custom_controller",
    "custom_action",
    "sync_context",
]
custom_recognizer = ["sync_context"]
custom_controller = ["sync_context"]
custom_action = ["sync_context"]
sync_context = []
internal = []
image = ["dep:image"]

[[example]]
name = "main"
path = "../examples/main.rs"

[dev-dependencies]
ctor = "0.6"
