pub struct ScanOptions {Show 56 fields
pub progress_mode: ProgressMode,
pub process_mode: ProcessMode,
pub timeout_seconds: f64,
pub max_depth: usize,
pub max_in_memory: MemoryMode,
pub collect_info: bool,
pub detect_license: LicenseSource,
pub detect_packages: bool,
pub detect_system_packages: bool,
pub detect_packages_in_compiled: bool,
pub package_only: bool,
pub no_assemble: bool,
pub detect_copyrights: bool,
pub detect_emails: bool,
pub detect_urls: bool,
pub detect_generated: bool,
pub max_emails: usize,
pub max_urls: usize,
pub include: Vec<String>,
pub exclude: Vec<String>,
pub include_input_header: bool,
pub cache_dir: Option<PathBuf>,
pub cache_clear: bool,
pub incremental: bool,
pub cache_trust_mtime: bool,
pub reindex: bool,
pub no_license_index_cache: bool,
pub license_text: bool,
pub license_text_diagnostics: bool,
pub license_diagnostics: bool,
pub unknown_licenses: bool,
pub no_sequence_matching: bool,
pub license_score: u8,
pub filter_clues: bool,
pub ignore_author_patterns: Vec<String>,
pub ignore_copyright_holder_patterns: Vec<String>,
pub only_findings: bool,
pub mark_source: bool,
pub classify: bool,
pub summary: bool,
pub license_clarity_score: bool,
pub license_references: bool,
pub license_url_template: String,
pub license_policy: Option<PathBuf>,
pub tallies: bool,
pub tallies_key_files: bool,
pub tallies_with_details: bool,
pub facets: Vec<String>,
pub tallies_by_facet: bool,
pub strip_root: bool,
pub full_root: bool,
pub header_options: Map<String, Value>,
pub max_files: Option<usize>,
pub max_total_bytes: Option<u64>,
pub scan_deadline_seconds: Option<f64>,
pub restrict_out_of_tree_symlinks: bool,
}Expand description
High-level configuration for in-process scans through scan_path and scan_paths.
Defaults stay intentionally conservative: progress is quiet, no scan dimensions are enabled,
input headers are omitted, and ambient PROVENANT_CACHE is ignored unless you set
ScanOptions::cache_dir.
Fields§
§progress_mode: ProgressMode§process_mode: ProcessMode§timeout_seconds: f64§max_depth: usize§max_in_memory: MemoryMode§collect_info: bool§detect_license: LicenseSource§detect_packages: bool§detect_system_packages: bool§detect_packages_in_compiled: bool§package_only: bool§no_assemble: bool§detect_copyrights: bool§detect_emails: bool§detect_urls: bool§detect_generated: bool§max_emails: usize§max_urls: usize§include: Vec<String>§exclude: Vec<String>§include_input_header: bool§cache_dir: Option<PathBuf>§cache_clear: bool§incremental: bool§cache_trust_mtime: boolOpt-in trust-mtime mode for warm incremental scans.
When true, a cached entry is reused on a size + mtime fingerprint match
without re-reading and re-hashing the file. Default false keeps the
paranoid full-hash behavior so default scans stay byte-identical.
reindex: bool§no_license_index_cache: bool§license_text: bool§license_text_diagnostics: bool§license_diagnostics: bool§unknown_licenses: bool§no_sequence_matching: bool§license_score: u8§filter_clues: bool§ignore_copyright_holder_patterns: Vec<String>§only_findings: bool§mark_source: bool§classify: bool§summary: bool§license_clarity_score: bool§license_references: bool§license_url_template: String§license_policy: Option<PathBuf>§tallies: bool§tallies_key_files: bool§tallies_with_details: bool§facets: Vec<String>§tallies_by_facet: bool§strip_root: bool§full_root: bool§header_options: Map<String, Value>§max_files: Option<usize>Maximum number of files to collect before the walk stops, if any.
Untrusted callers (such as provenant serve) set finite ceilings to
bound denial-of-service exposure; trusted scans leave these unset.
max_total_bytes: Option<u64>Maximum cumulative size of collected files in bytes, if any.
scan_deadline_seconds: Option<f64>Overall wall-clock budget for the collection pass in seconds, if any.
restrict_out_of_tree_symlinks: boolWhen true, file symlinks whose target escapes the scan root are skipped
instead of being dereferenced and scanned.
Trait Implementations§
Source§impl Clone for ScanOptions
impl Clone for ScanOptions
Source§fn clone(&self) -> ScanOptions
fn clone(&self) -> ScanOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ScanOptions
impl Debug for ScanOptions
Auto Trait Implementations§
impl Freeze for ScanOptions
impl RefUnwindSafe for ScanOptions
impl Send for ScanOptions
impl Sync for ScanOptions
impl Unpin for ScanOptions
impl UnsafeUnpin for ScanOptions
impl UnwindSafe for ScanOptions
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
Source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
T, using the provided data to resolve any offsets.