weavatrix_scan/scanner/
mod.rs1use crate::cache::ScanCache;
2use crate::config::{EvidenceMode, ScanOptions};
3use crate::content::inspect_files;
4use crate::error::{Error, Result};
5use crate::ignore::RepositoryMatcher;
6use crate::parallel::dynamic;
7use crate::report::{ScanReport, ScannedFile};
8use crate::runtime::ParallelRuntime;
9use crate::scan_finalize::finalize_report;
10use crate::scan_limits::{ScanRuntime, apply_total_bytes_limit};
11use crate::walker::{ErrorPolicy, Walker};
12use std::path::{Path, PathBuf};
13use std::sync::{Arc, Mutex};
14
15mod api;
16mod batch;
17mod compact;
18mod content_visit;
19mod discovery;
20mod entry;
21mod stream;
22mod watch_update;
23
24use entry::{process_entry, record_walk_error, walker_error_into_scan_error};
25
26pub use compact::scan_repository_compact;
27
28pub struct Scanner {
29 root: PathBuf,
30 options: ScanOptions,
31 runtime: ParallelRuntime,
32}
33
34pub use discovery::scan_repository;
35pub(crate) use discovery::scan_repository_with_runtime;