diff --git a/crates/xtask/src/main.rs b/crates/xtask/src/main.rs index 3f39f82..56e5350 100644 --- a/crates/xtask/src/main.rs +++ b/crates/xtask/src/main.rs @@ -15,18 +15,39 @@ fn main() { } Some("fixtures") => { println!("fixtures/"); - println!(" markdown/sample.md — all block types (heading, paragraph, list, table, code, quote, hr)"); + println!(" markdown/sample.md — all block types"); println!(" text/sample.txt — multi-paragraph plain text"); println!(" images/test-red.png — 1×1 red pixel PNG"); } + Some("verify-ios") => { + let root = project_root(); + let xcframework = root.join("bindings/ios/ZxDocumentRuntime.xcframework"); + if !xcframework.exists() { + eprintln!("ERROR: XCFramework not found at {}", xcframework.display()); + std::process::exit(1); + } + let binding = root.join("bindings/ios/generated/zx_document.swift"); + if !binding.exists() { + eprintln!("ERROR: Swift binding not found at {}", binding.display()); + std::process::exit(1); + } + let header = root.join("bindings/ios/generated/zx_documentFFI.h"); + if !header.exists() { + eprintln!("ERROR: header not found at {}", header.display()); + std::process::exit(1); + } + println!("✅ XCFramework: {}", xcframework.display()); + println!("✅ Swift binding: {}", binding.display()); + println!("✅ Header: {}", header.display()); + println!("✅ verify-ios passed"); + } _ => { println!("zhixi-document-runtime xtask"); println!(); - println!("Usage: cargo run -p xtask -- "); - println!(); println!("Commands:"); - println!(" test Run all Rust tests (cargo test)"); + println!(" test Run all Rust tests"); println!(" build-ios Build iOS XCFramework + Swift bindings"); + println!(" verify-ios Verify XCFramework/binding/header exist"); println!(" fixtures List available fixture files"); } }