()
| 2397 | } |
| 2398 | |
| 2399 | fn service_metadata_by_path() -> anyhow::Result<HashMap<PathBuf, ServiceMetadata>> { |
| 2400 | let mut metadata_by_path = HashMap::new(); |
| 2401 | for path in service_metadata_paths()? { |
| 2402 | let Some(metadata) = fs::read_to_string(&path) |
| 2403 | .ok() |
| 2404 | .and_then(|data| serde_json::from_str::<ServiceMetadata>(&data).ok()) |
| 2405 | else { |
| 2406 | continue; |
| 2407 | }; |
| 2408 | metadata_by_path.insert(path, metadata); |
| 2409 | } |
| 2410 | Ok(metadata_by_path) |
| 2411 | } |
| 2412 | |
| 2413 | fn project_root() -> anyhow::Result<PathBuf> { |
| 2414 | let mut current = env::current_dir().context("resolve current directory")?; |
no test coverage detected