pub struct Builder { /* private fields */ }Expand description
Main build orchestrator
Implementations§
Source§impl Builder
impl Builder
pub fn new(config: Config, output_dir: PathBuf, project_dir: PathBuf) -> Self
Sourcepub fn new_with_tracker(
project_dir: PathBuf,
output_dir: PathBuf,
) -> Result<Self>
pub fn new_with_tracker( project_dir: PathBuf, output_dir: PathBuf, ) -> Result<Self>
Create a new builder with a fresh tracker (for full rebuilds)
pub fn build(&mut self) -> Result<()>
Sourcepub fn get_changed_files(&self) -> Vec<PathBuf>
pub fn get_changed_files(&self) -> Vec<PathBuf>
Get files that have changed since last build
Sourcepub fn needs_full_rebuild(&self) -> bool
pub fn needs_full_rebuild(&self) -> bool
Check if a full rebuild is needed (no cache or config changed)
Sourcepub fn is_tracked_file(&self, path: &Path) -> bool
pub fn is_tracked_file(&self, path: &Path) -> bool
Check if a file was tracked as a dependency in the last build
Sourcepub fn has_tracked_changes(&self) -> bool
pub fn has_tracked_changes(&self) -> bool
Check if any tracked files have changed since last build
Sourcepub fn incremental_build(&mut self, changes: &ChangeSet) -> Result<()>
pub fn incremental_build(&mut self, changes: &ChangeSet) -> Result<()>
Perform an incremental build based on what changed Uses tracker data to filter changes to only files that were actually used
Sourcepub fn reload_config(&mut self) -> Result<()>
pub fn reload_config(&mut self) -> Result<()>
Reload config from disk
Auto Trait Implementations§
impl Freeze for Builder
impl !RefUnwindSafe for Builder
impl Send for Builder
impl Sync for Builder
impl Unpin for Builder
impl !UnwindSafe for Builder
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