Skip to content

Commit 3df204c

Browse files
committed
validating in runner
1 parent 390eb73 commit 3df204c

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

src/runner.rs

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use core::fmt;
22
use std::{fs::File, path::PathBuf};
33

44
use error_stack::{Context, Result, ResultExt};
5+
use serde::{Deserialize, Serialize};
56

67
use crate::{
78
cache::{Cache, Caching, file::GlobalCache, noop::NoopCache},
@@ -10,6 +11,50 @@ use crate::{
1011
project_builder::ProjectBuilder,
1112
};
1213

14+
pub fn validate(run_config: &RunConfig, _file_paths: Vec<String>) -> RunResult {
15+
let runner = match Runner::new(run_config.clone()) {
16+
Ok(runner) => runner,
17+
Err(err) => {
18+
return RunResult {
19+
io_errors: vec![err.to_string()],
20+
..Default::default()
21+
};
22+
}
23+
};
24+
match runner.validate() {
25+
Ok(_) => RunResult::default(),
26+
Err(err) => RunResult {
27+
validate_errors: vec![err.to_string()],
28+
..Default::default()
29+
},
30+
}
31+
}
32+
33+
pub fn generate_and_validate(run_config: &RunConfig) -> RunResult {
34+
let runner = match Runner::new(run_config.clone()) {
35+
Ok(runner) => runner,
36+
Err(err) => {
37+
return RunResult {
38+
io_errors: vec![err.to_string()],
39+
..Default::default()
40+
};
41+
}
42+
};
43+
match runner.generate_and_validate() {
44+
Ok(_) => RunResult::default(),
45+
Err(err) => RunResult {
46+
validate_errors: vec![err.to_string()],
47+
..Default::default()
48+
},
49+
}
50+
}
51+
#[derive(Debug, Default, Serialize, Deserialize)]
52+
pub struct RunResult {
53+
pub validate_errors: Vec<String>,
54+
pub io_errors: Vec<String>,
55+
pub info_messages: Vec<String>,
56+
}
57+
#[derive(Debug, Clone)]
1358
pub struct RunConfig {
1459
pub project_root: PathBuf,
1560
pub codeowners_file_path: PathBuf,

0 commit comments

Comments
 (0)