pub struct Scanner { /* private fields */ }Expand description
Scans a directory for packages.
Looks for polykit.toml files and parses them into Package structures.
Uses caching for fast incremental scans.
Implementations§
Source§impl Scanner
impl Scanner
pub fn new(packages_dir: impl AsRef<Path>) -> Self
pub fn with_default_cache(packages_dir: impl AsRef<Path>) -> Self
pub fn with_cache( packages_dir: impl AsRef<Path>, cache_dir: impl AsRef<Path>, ) -> Self
pub fn workspace_config(&self) -> Option<&WorkspaceConfig>
pub fn cache_stats(&self) -> Option<&CacheStats>
pub fn scan(&mut self) -> Result<Vec<Package>>
pub fn scan_as_map(&mut self) -> Result<FxHashMap<String, Package>>
Sourcepub fn scan_with_changes(
&mut self,
old_packages: &FxHashMap<String, Package>,
) -> Result<(Vec<Package>, GraphChange)>
pub fn scan_with_changes( &mut self, old_packages: &FxHashMap<String, Package>, ) -> Result<(Vec<Package>, GraphChange)>
Scans packages and returns both the packages and detected changes.
Useful for incremental graph updates.
Auto Trait Implementations§
impl Freeze for Scanner
impl RefUnwindSafe for Scanner
impl Send for Scanner
impl Sync for Scanner
impl Unpin for Scanner
impl UnwindSafe for Scanner
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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 more