diff options
Diffstat (limited to 'mingling_ci/src/task/cmd_build.rs')
| -rw-r--r-- | mingling_ci/src/task/cmd_build.rs | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/mingling_ci/src/task/cmd_build.rs b/mingling_ci/src/task/cmd_build.rs deleted file mode 100644 index f37699c..0000000 --- a/mingling_ci/src/task/cmd_build.rs +++ /dev/null @@ -1,47 +0,0 @@ -use std::ffi::OsString; -use std::path::Path; - -use mingling::{ - Grouped, Routable, - macros::{buffer, command, renderer}, - res::ResExitCode, -}; - -use crate::Next; -use crate::res::Manifests; -use crate::task::run::{location, run_parallel_checks}; - -#[command(node = "build-all")] -pub async fn build_all(manifests: &Manifests) -> Next { - let tasks = manifests - .package_dirs - .iter() - .map(|(name, path)| (name.clone(), location(path), build_args(path))) - .collect(); - let fail_count = run_parallel_checks("Build-All", "Building", tasks).await; - ResultBuildAll { fail_count }.to_chain() -} - -/// `cargo build --manifest-path <path>` -fn build_args(path: &Path) -> Vec<OsString> { - vec![ - "cargo".into(), - "build".into(), - "--manifest-path".into(), - path.as_os_str().to_os_string(), - ] -} - -/// Number of packages that failed to build. -#[derive(Grouped)] -pub struct ResultBuildAll { - pub fail_count: usize, -} - -/// Silently sets a non-zero exit code when any build failed. -#[renderer(buffer)] -pub fn render_build_all(r: ResultBuildAll, exit_code: &mut ResExitCode) { - if r.fail_count > 0 { - exit_code.exit_code = 1; - } -} |
