particle-os-cli/Cargo.toml
Gerald Pinder a7d862abf0
feat: Embed build scripts and extract into temp dir for build (#516)
This decouples the need for a published image for the bulid scripts and
will now embed them into the binary instead. This will make it so that
anyone that forks the CLI is able to make adjustments to the build
scripts and use them immediately.

This will be needed for testing #515
2025-08-10 16:09:42 -04:00

143 lines
3.8 KiB
TOML

[workspace]
members = ["utils", "recipe", "template", "process"]
[workspace.package]
description = "A CLI tool built for creating Containerfile templates for ostree based atomic distros"
edition = "2024"
repository = "https://github.com/blue-build/cli"
license = "Apache-2.0"
categories = ["command-line-utilities"]
version = "0.9.22"
[workspace.dependencies]
bon = "3"
cached = { version = "0.55", features = ["async"]}
chrono = "0.4"
clap = "4"
colored = "2"
comlexr = "1"
indexmap = { version = "2", features = ["serde"] }
indicatif = { version = "0.18", features = ["improved_unicode", "rayon"] }
lazy-regex = "3"
log = "0.4"
miette = "7"
nix = { version = "0.29" }
oci-distribution = { version = "0.11", default-features = false }
pretty_assertions = "1"
regex = "1"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls"] }
rstest = "0.18"
semver = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = { version = "0.0.12", package = "serde_yml" }
syntect = { version = "5", default-features = false, features = ["default-fancy"] }
tempfile = "3"
tokio = { version = "1", features = ["rt", "rt-multi-thread"] }
users = "0.11"
uuid = { version = "1", features = ["v4"] }
zeroize = { version = "1", features = ["aarch64", "derive", "std", "serde"] }
[workspace.lints.rust]
unsafe_code = "forbid"
[workspace.lints.clippy]
correctness = "deny"
suspicious = "deny"
perf = "deny"
style = "deny"
nursery = "deny"
pedantic = "deny"
module_name_repetitions = { level = "allow", priority = 1 }
doc_markdown = { level = "allow", priority = 1 }
[package]
name = "blue-build"
build = "build.rs"
version.workspace = true
edition.workspace = true
description.workspace = true
repository.workspace = true
license.workspace = true
[package.metadata.release]
pre-release-hook = ["git", "cliff", "-o", "CHANGELOG.md", "--tag", "{{version}}"]
pre-release-replacements = [
{ file = "install.sh", search = "VERSION=v\\d+\\.\\d+\\.\\d+", replace = "VERSION=v{{version}}" },
{ file = "flake.nix", search = "version = \"v\\d+\\.\\d+\\.\\d+\";", replace = "version = \"v{{version}}\";" }
]
[dependencies]
blue-build-recipe = { version = "=0.9.22", path = "./recipe" }
blue-build-template = { version = "=0.9.22", path = "./template" }
blue-build-utils = { version = "=0.9.22", path = "./utils" }
blue-build-process-management = { version = "=0.9.22", path = "./process" }
clap-verbosity-flag = "3"
clap_complete = "4"
clap_complete_nushell = "4"
fuzzy-matcher = "0.3"
jsonschema = "0.30"
open = "5"
os_info = "3"
rayon = "1"
requestty = { version = "0.5", features = ["macros", "termion"] }
shadow-rs = { version = "1", default-features = false }
thiserror = "2"
urlencoding = "2"
yaml-rust2 = "0.10"
cached.workspace = true
clap = { workspace = true, features = ["derive", "cargo", "unicode", "env"] }
colored.workspace = true
comlexr.workspace = true
indexmap.workspace = true
indicatif.workspace = true
log.workspace = true
miette = { workspace = true, features = ["fancy"] }
oci-distribution.workspace = true
regex.workspace = true
reqwest.workspace = true
semver.workspace = true
serde.workspace = true
serde_json.workspace = true
serde_yaml.workspace = true
syntect.workspace = true
tempfile.workspace = true
tokio.workspace = true
bon.workspace = true
users.workspace = true
rust-embed = { version = "8.7.2", features = ["debug-embed", "compression", "deterministic-timestamps"] }
[features]
# Top level features
default = []
v0_10_0 = [
"bootc"
]
bootc = ["blue-build-process-management/bootc"]
[dev-dependencies]
rusty-hook = "0.11"
rstest.workspace = true
[build-dependencies]
shadow-rs = "1"
[lints]
workspace = true
[profile.release]
lto = true
codegen-units = 1
strip = "none"
debug = false
panic = "abort"
[profile.dev]
debug = false
[profile.test]
debug = "line-tables-only"