Skip to main content

Cleaner

Struct Cleaner 

Source
pub struct Cleaner;
Expand description

Handles the cleanup of build directories from development projects.

The Cleaner struct provides methods for removing build directories (such as target/ for Rust projects and node_modules/ for Node.js projects) with parallel processing, progress reporting, and comprehensive error handling.

Implementations§

Source§

impl Cleaner

Source

pub const fn new() -> Self

Create a new cleaner instance.

§Returns

A new Cleaner instance ready to perform cleanup operations.

§Examples
let cleaner = Cleaner::new();
Source

pub fn clean_projects( projects: Projects, keep_executables: bool, quiet: bool, removal_strategy: RemovalStrategy, ) -> CleanResult

Clean build directories from a collection of projects.

This method performs the main cleanup operation by:

  1. Setting up a progress bar for user feedback (unless quiet)
  2. Processing projects in parallel for efficiency
  3. Collecting and reporting any errors that occur
  4. Returning a CleanResult with detailed statistics
§Arguments
  • projects - A collection of projects to clean
  • keep_executables - Whether to preserve compiled executables before cleaning
  • quiet - When true, suppresses all human-readable output (progress bars, messages). Used by the --json flag so that only the final JSON is printed.
  • removal_strategy - Whether to permanently delete or move to system trash
§Panics

This method may panic if the progress bar template string is invalid, though this should not occur under normal circumstances as the template is hardcoded and valid.

§Returns

A CleanResult containing success/failure counts, total freed bytes, and any error messages.

§Performance

This method uses parallel processing to clean multiple projects simultaneously, which can significantly reduce cleanup time for large numbers of projects.

§Error Handling

Individual project cleanup failures do not stop the overall process. All errors are collected and reported in the returned CleanResult, allowing the cleanup to proceed for projects that can be successfully processed.

Source

pub fn print_summary(result: &CleanResult)

Print a human-readable cleanup summary to stdout.

This is called from main when --json is not active.

Trait Implementations§

Source§

impl Default for Cleaner

Source§

fn default() -> Self

Create a default cleaner instance.

This implementation allows Cleaner::default() to be used as an alternative to Cleaner::new() for creating cleaner instances.

§Returns

A new Cleaner instance with default settings.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.