msvc-kit 0.2.7

A portable MSVC Build Tools installer and manager for Rust development
[package]

name = "msvc-kit"

version = "0.2.7"

edition = "2021"

authors = ["loonghao <hal.long@outlook.com>"]

description = "A portable MSVC Build Tools installer and manager for Rust development"

license = "MIT"

repository = "https://github.com/loonghao/msvc-kit"

keywords = ["msvc", "windows", "build-tools", "compiler", "sdk"]

categories = ["development-tools", "command-line-utilities"]

readme = "README.md"



[lib]

name = "msvc_kit"

path = "src/lib.rs"



[[bin]]

name = "msvc-kit"

path = "src/bin/msvc-kit.rs"

required-features = ["self-update"]



[features]

default = ["self-update", "native-tls"]

self-update = ["dep:axoupdater"]

native-tls = ["reqwest/native-tls"]

rustls-tls = ["reqwest/rustls"]



[dependencies]

# CLI framework

clap = { version = "4.5.58", features = ["derive", "env"] }



# Async runtime

tokio = { version = "1.43", features = ["full"] }



# HTTP client

# TLS backend is selected via feature flags: `native-tls` (default) or `rustls-tls`.

# Using `native-tls` avoids the cmake/NASM build dependency required by `rustls`/`aws-lc-sys`.

# See: https://github.com/loonghao/msvc-kit/issues/44

reqwest = { version = "0.13.2", default-features = false, features = ["json", "stream"] }



# Serialization

serde = { version = "1.0", features = ["derive"] }



serde_json = "1.0"

simd-json = "0.17"

chrono = { version = "0.4", features = ["serde"] }

toml = "0.9.12"



# Compression

zip = "7.4"

cab = "0.6"



# Progress display

indicatif = "0.18"

humansize = "2.1"





# Logging

tracing = "0.1"

tracing-subscriber = { version = "0.3", features = ["env-filter"] }



# Error handling

thiserror = "2.0.18"

anyhow = "1.0.101"



# Path utilities

directories = "6.0"

async-trait = "0.1.89"



# Windows registry (Windows only)

[target.'cfg(windows)'.dependencies]

winreg = "0.55"



# Async utilities

futures = "0.3"



# SHA256 verification

sha2 = "0.10"

hex = "0.4"



# Self-update via axoupdater (optional, compatible with cargo-dist releases)

axoupdater = { version = "0.9", default-features = false, features = ["github_releases"], optional = true }



# Embedded KV database

redb = "3"

bincode = { version = "2.0.1", features = ["serde"] }



# Template engine

askama = "0.15.4"



[dev-dependencies]

rstest = "0.26"

tempfile = "3.25"

mockito = "1.7"



[profile.release]

lto = true

strip = true

opt-level = "z"