[package]
edition = "2024"
rust-version = "1.87"
name = "cargo-image-runner"
version = "0.5.0"
build = false
exclude = [
".github/",
"CLAUDE.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A generic, customizable runner for building and booting kernel/embedded images with Limine, GRUB, QEMU, and more"
documentation = "https://docs.rs/cargo-image-runner"
readme = "README.md"
keywords = [
"kernel",
"bootloader",
"qemu",
"limine",
"osdev",
]
categories = [
"development-tools",
"os",
"command-line-utilities",
]
license = "MIT"
repository = "https://github.com/hxyulin/cargo-image-runner"
[features]
bios = []
cargo-metadata = ["dep:cargo_metadata"]
cli = [
"dep:clap",
"cargo-metadata",
]
default = [
"cli",
"cargo-metadata",
"uefi",
"bios",
"limine",
"iso",
"qemu",
]
fat = [
"dep:fatfs",
"dep:fscommon",
]
grub = []
iso = [
"dep:hadris-iso",
"dep:hadris-fat",
]
limine = ["dep:git2"]
progress = ["dep:indicatif"]
qemu = []
uefi = ["dep:ovmf-prebuilt"]
[lib]
name = "cargo_image_runner"
path = "src/lib.rs"
[[bin]]
name = "cargo-image-runner"
path = "src/main.rs"
required-features = ["cli"]
[[test]]
name = "builder_pipeline"
path = "tests/builder_pipeline.rs"
[[test]]
name = "config_integration"
path = "tests/config_integration.rs"
[[test]]
name = "standalone_usage"
path = "tests/standalone_usage.rs"
[[test]]
name = "template_integration"
path = "tests/template_integration.rs"
[dependencies.cargo_metadata]
version = "0.18.1"
optional = true
[dependencies.clap]
version = "4.5.51"
features = ["derive"]
optional = true
[dependencies.fatfs]
version = "0.3"
features = ["std"]
optional = true
[dependencies.fscommon]
version = "0.1"
optional = true
[dependencies.git2]
version = "0.20"
optional = true
[dependencies.hadris-fat]
version = "0.3.1"
features = [
"write",
"lfn",
]
optional = true
[dependencies.hadris-iso]
version = "0.2.1"
optional = true
[dependencies.indicatif]
version = "0.17"
optional = true
[dependencies.ovmf-prebuilt]
version = "0.2.2"
optional = true
[dependencies.serde]
version = "1.0.217"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.137"
[dependencies.serde_plain]
version = "1.0.2"
[dependencies.thiserror]
version = "2.0"
[dependencies.toml]
version = "0.8"
[dev-dependencies.tempfile]
version = "3"
[target."cfg(unix)".dependencies.libc]
version = "0.2"