From 14457da4f831c57e7a2b1c54e1c37adb8354c8d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Tj=C3=A4der?= Date: Sat, 25 Feb 2023 00:28:45 +0100 Subject: xtask: Add book building --- xtask/src/command.rs | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) (limited to 'xtask/src/command.rs') diff --git a/xtask/src/command.rs b/xtask/src/command.rs index 4cf387f..e43c936 100644 --- a/xtask/src/command.rs +++ b/xtask/src/command.rs @@ -71,6 +71,9 @@ pub enum CargoCommand<'a> { cargoarg: &'a Option<&'a str>, features: Option<&'a str>, }, + Book { + mdbookarg: &'a Option<&'a str>, + }, ExampleSize { cargoarg: &'a Option<&'a str>, example: &'a str, @@ -91,6 +94,24 @@ impl<'a> CargoCommand<'a> { CargoCommand::Clippy { .. } => "clippy", CargoCommand::Format { .. } => "fmt", CargoCommand::Doc { .. } => "doc", + CargoCommand::Book { .. } => "build", + // TODO + // CargoCommand::Test { .. } => "test", + } + } + pub fn command(&self) -> &str { + match self { + CargoCommand::Run { .. } + | CargoCommand::Qemu { .. } + | CargoCommand::ExampleCheck { .. } + | CargoCommand::Check { .. } + | CargoCommand::ExampleBuild { .. } + | CargoCommand::Build { .. } + | CargoCommand::ExampleSize { .. } + | CargoCommand::Clippy { .. } + | CargoCommand::Format { .. } + | CargoCommand::Doc { .. } => "cargo", + CargoCommand::Book { .. } => "mdbook", // TODO // CargoCommand::Test { .. } => "test", } @@ -230,6 +251,18 @@ impl<'a> CargoCommand<'a> { } args } + CargoCommand::Book { mdbookarg } => { + let mut args = vec![]; + + args.extend_from_slice(&[self.name()]); + + if let Some(arg) = mdbookarg { + args.extend_from_slice(&[arg]); + } + + args.extend_from_slice(&["book/en"]); + args + } CargoCommand::Format { cargoarg, package, @@ -324,10 +357,6 @@ impl<'a> CargoCommand<'a> { } } } - - pub fn command(&self) -> &str { - "cargo" - } } impl BuildMode { -- cgit v1.2.3