mirror of
https://github.com/marcoallegretti/WEFT_OS.git
synced 2026-03-27 09:23:09 +00:00
New crate: weft-pack — command-line tool for validating WEFT application package directories against the app-package-format spec. src/main.rs: - check <dir>: loads wapp.toml, validates app ID format, verifies package.name is non-empty and <=64 chars, confirms runtime.module and ui.entry files exist. Prints 'OK' on success or the list of errors. - info <dir>: prints all manifest fields to stdout. - load_manifest(): reads and parses wapp.toml with toml crate. - is_valid_app_id(): enforces reverse-domain convention (>=3 components, each starting with a lowercase letter, digits allowed, no hyphens or uppercase). Tests (5): - app_id_valid: accepts well-formed reverse-domain IDs. - app_id_invalid: rejects two-component, uppercase, hyphen, empty IDs. - check_package_missing_manifest: error when wapp.toml is absent. - check_package_valid: full happy-path with real temp files. - check_package_invalid_app_id: error on a hyphenated app ID. New deps: toml 0.8, serde 1 (derive). Added weft-pack to workspace Cargo.toml; wsl-test.sh extended.
14 lines
251 B
TOML
14 lines
251 B
TOML
[package]
|
|
name = "weft-pack"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
|
|
[[bin]]
|
|
name = "weft-pack"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
anyhow = "1.0"
|
|
serde = { version = "1", features = ["derive"] }
|
|
toml = "0.8"
|