cargo-image-runner 0.5.0

A generic, customizable runner for building and booting kernel/embedded images with Limine, GRUB, QEMU, and more
Documentation
# 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 = "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"