pub struct InstallContext<'a> {
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 gitignore_lock: Option<&'a Arc<Mutex<()>>>,
pub max_content_file_size: Option<u64>,
pub template_context_builder: Arc<TemplateContextBuilder>,
}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>§gitignore_lock: Option<&'a Arc<Mutex<()>>>§max_content_file_size: Option<u64>§template_context_builder: Arc<TemplateContextBuilder>Shared template context builder for all resources
Implementations§
Source§impl<'a> InstallContext<'a>
impl<'a> InstallContext<'a>
Sourcepub fn new(
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>,
gitignore_lock: Option<&'a Arc<Mutex<()>>>,
max_content_file_size: Option<u64>,
) -> Self
pub fn new( 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>, gitignore_lock: Option<&'a Arc<Mutex<()>>>, max_content_file_size: Option<u64>, ) -> Self
Create a new installation context.
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
Mutably borrows from an owned value. Read more