[package]
name = "java-manager"
version = "0.4.0-3b"
edition = "2024"
description = "A Rust library for managing and locating Java installations"
license = "MIT OR Apache-2.0"
keywords = ["java", "locator", "manager", "jvm"]
categories = ["development-tools"]
authors = ["TaimWay <taimway@gmail.com>"]
repository = "https://github.com/TaimWay/java-manager"
documentation = "https://docs.rs/java-manager"
readme = "Readme.md"
[features]
default = []
parallel = ["rayon"]
download = ["reqwest", "tokio", "futures-util", "flume", "zip", "flate2", "tar"]
everything = ["everything-sdk"]
cli = ["clap", "dialoguer"]
[dependencies]
glob = "0.3.3"
is_executable = "1.0.5"
log = "0.4"
rayon = { version = "1.10", optional = true }
shell-words = "1.1.1"
clap = { version = "4", features = ["derive"], optional = true }
dialoguer = { version = "0.11", optional = true }
reqwest = { version = "0.12", default-features = false, features = ["stream"], optional = true }
tokio = { version = "1", features = ["fs", "io-util", "rt", "macros", "rt-multi-thread"], optional = true }
futures-util = { version = "0.3", optional = true }
flume = { version = "0.11", optional = true }
[dev-dependencies]
tempfile = "3.3"
[[bin]]
name = "cjm"
path = "src/bin/cjm.rs"
required-features = ["cli"]
[target.'cfg(target_os = "windows")'.dependencies]
everything-sdk = { version = "0.0.6", optional = true }
winreg = "0.55.0"
windows = { version = "0.62.2", features = [ "Win32_Foundation", "Win32_UI_WindowsAndMessaging"] }
zip = { version = "2", optional = true }
[target.'cfg(any(target_os = "linux", target_os = "macos"))'.dependencies]
walkdir = "2"
flate2 = { version = "1", optional = true }
tar = { version = "0.4", optional = true }