lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README | LICENSE

commit f633a2604f675592e4af24acadefc2098a887dc9
parent c6ef14973fb8e351531996eb7602e942bad586b0
Author: triesap <tyson@radroots.org>
Date:   Fri, 20 Feb 2026 23:30:45 +0000

build: scaffold `xtask` sdk command tree

Diffstat:
MCargo.toml | 1+
Acrates/xtask/Cargo.toml | 8++++++++
Acrates/xtask/src/main.rs | 41+++++++++++++++++++++++++++++++++++++++++
3 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/Cargo.toml b/Cargo.toml @@ -27,6 +27,7 @@ members = [ "crates/tangle-db-wasm", "crates/trade", "crates/types", + "crates/xtask", ] resolver = "2" diff --git a/crates/xtask/Cargo.toml b/crates/xtask/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "xtask" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true + +[dependencies] diff --git a/crates/xtask/src/main.rs b/crates/xtask/src/main.rs @@ -0,0 +1,41 @@ +#![forbid(unsafe_code)] + +use std::env; +use std::process::ExitCode; + +fn usage() { + eprintln!("usage:"); + eprintln!(" cargo xtask sdk export-ts [--out <dir>]"); + eprintln!(" cargo xtask sdk validate"); +} + +fn run_sdk(args: &[String]) -> Result<(), String> { + match args.first().map(String::as_str) { + Some("export-ts") => Ok(()), + Some("validate") => Ok(()), + _ => Err("unknown sdk subcommand".to_string()), + } +} + +fn run(args: &[String]) -> Result<(), String> { + match args.first().map(String::as_str) { + Some("sdk") => run_sdk(&args[1..]), + _ => Err("unknown command".to_string()), + } +} + +fn main() -> ExitCode { + let args: Vec<String> = env::args().skip(1).collect(); + if args.is_empty() { + usage(); + return ExitCode::from(2); + } + match run(&args) { + Ok(()) => ExitCode::SUCCESS, + Err(err) => { + eprintln!("{err}"); + usage(); + ExitCode::from(2) + } + } +}