From 1951b063d7ec6d6e8db8a0b5074c73f887749208 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 29 Dec 2025 22:18:04 +0800 Subject: initial commit --- xtask/Cargo.toml | 7 +++++++ xtask/src/main.rs | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 xtask/Cargo.toml create mode 100644 xtask/src/main.rs (limited to 'xtask') diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml new file mode 100644 index 0000000..13979c3 --- /dev/null +++ b/xtask/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "xtask" +version = "0.1.0" +edition = "2021" + +[dependencies] +anyhow = "1" diff --git a/xtask/src/main.rs b/xtask/src/main.rs new file mode 100644 index 0000000..1009eef --- /dev/null +++ b/xtask/src/main.rs @@ -0,0 +1,38 @@ +use anyhow::Result; +use std::process::Command; + +fn main() -> Result<()> { + let args: Vec = std::env::args().collect(); + + if args.len() < 2 { + eprintln!("Usage: cargo xtask build-ebpf"); + std::process::exit(1); + } + + match args[1].as_str() { + "build-ebpf" => build_ebpf()?, + _ => eprintln!("Unknown command: {}", args[1]), + } + + Ok(()) +} + +fn build_ebpf() -> Result<()> { + let status = Command::new("cargo") + .args(&[ + "+nightly", + "build", + "--target=bpfel-unknown-none", + "--release", + "-Z", + "build-std=core", + "--manifest-path=packet-detector-ebpf/Cargo.toml", + ]) + .status()?; + + if !status.success() { + anyhow::bail!("Failed to build eBPF program"); + } + + Ok(()) +} -- cgit v1.2.3