pub struct InstallContext<'a> {Show 13 fields
pub project_dir: &'a Path,
pub cache: &'a Cache,
pub force_refresh: bool,
pub verbose: bool,
pub manifest: Option<&'a Manifest>,
pub lockfile: Option<&'a Arc<LockFile>>,
pub old_lockfile: Option<&'a LockFile>,
pub project_patches: Option<&'a ManifestPatches>,
pub private_patches: Option<&'a ManifestPatches>,
pub max_content_file_size: Option<u64>,
pub template_context_builder: Arc<TemplateContextBuilder>,
pub trust_lockfile_checksums: bool,
pub token_warning_threshold: Option<u64>,
}Expand description
Installation context containing common parameters for resource installation.
This struct bundles frequently-used installation parameters to reduce function parameter counts and improve code readability. It’s used throughout the installation pipeline to pass configuration and context information.
§Fields
project_dir- Root directory of the project where resources will be installedcache- Cache instance for managing Git repositories and worktreesforce_refresh- Whether to force refresh of cached worktreesmanifest- Optional reference to the project manifest for template contextlockfile- Optional reference to the lockfile for template contextold_lockfile- Optional reference to the previous lockfile for early-exit optimizationproject_patches- Optional project-level patches from agpm.tomlprivate_patches- Optional user-level patches from agpm.private.toml
Fields§
§project_dir: &'a Path§cache: &'a Cache§force_refresh: bool§verbose: bool§manifest: Option<&'a Manifest>§lockfile: Option<&'a Arc<LockFile>>§old_lockfile: Option<&'a LockFile>§project_patches: Option<&'a ManifestPatches>§private_patches: Option<&'a ManifestPatches>§max_content_file_size: Option<u64>§template_context_builder: Arc<TemplateContextBuilder>Shared template context builder for all resources
trust_lockfile_checksums: boolTrust lockfile checksums without recomputing (ultra-fast path optimization).
When enabled and all inputs match the old lockfile entry, skip file I/O and return the stored checksum. Safe for immutable dependencies (tags/SHAs).
See module-level docs in crate::cli::install for optimization tier details.
token_warning_threshold: Option<u64>Token count warning threshold.
When set, resources exceeding this threshold will emit a warning during installation.
Implementations§
Source§impl<'a> InstallContext<'a>
impl<'a> InstallContext<'a>
Sourcepub fn builder(
project_dir: &'a Path,
cache: &'a Cache,
) -> InstallContextBuilder<'a>
pub fn builder( project_dir: &'a Path, cache: &'a Cache, ) -> InstallContextBuilder<'a>
Create a new builder for InstallContext.
Sourcepub fn with_common_options(
project_dir: &'a Path,
cache: &'a Cache,
manifest: Option<&'a Manifest>,
lockfile: Option<&'a Arc<LockFile>>,
force_refresh: bool,
verbose: bool,
old_lockfile: Option<&'a LockFile>,
) -> Self
pub fn with_common_options( project_dir: &'a Path, cache: &'a Cache, manifest: Option<&'a Manifest>, lockfile: Option<&'a Arc<LockFile>>, force_refresh: bool, verbose: bool, old_lockfile: Option<&'a LockFile>, ) -> Self
Create an InstallContext with common options for parallel installation.
This helper function reduces code duplication by handling the common pattern of setting up InstallContext with frequently used options.
§Arguments
project_dir- Root directory of the projectcache- Cache instance for managing Git repositoriesmanifest- Optional project manifestlockfile- Lockfile for template contextforce_refresh- Whether to force refresh cached worktreesverbose- Whether to enable verbose outputold_lockfile- Optional previous lockfile for early-exit optimization
Sourcepub fn with_common_options_and_trust(
project_dir: &'a Path,
cache: &'a Cache,
manifest: Option<&'a Manifest>,
lockfile: Option<&'a Arc<LockFile>>,
force_refresh: bool,
verbose: bool,
old_lockfile: Option<&'a LockFile>,
trust_lockfile_checksums: bool,
token_warning_threshold: Option<u64>,
) -> Self
pub fn with_common_options_and_trust( project_dir: &'a Path, cache: &'a Cache, manifest: Option<&'a Manifest>, lockfile: Option<&'a Arc<LockFile>>, force_refresh: bool, verbose: bool, old_lockfile: Option<&'a LockFile>, trust_lockfile_checksums: bool, token_warning_threshold: Option<u64>, ) -> Self
Create an InstallContext with common options including trust flag.
This is the full version that allows specifying trust_lockfile_checksums
and token_warning_threshold.
Auto Trait Implementations§
impl<'a> Freeze for InstallContext<'a>
impl<'a> !RefUnwindSafe for InstallContext<'a>
impl<'a> Send for InstallContext<'a>
impl<'a> Sync for InstallContext<'a>
impl<'a> Unpin for InstallContext<'a>
impl<'a> !UnwindSafe for InstallContext<'a>
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
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 more