pub struct SourceBundleRequest { /* private fields */ }Expand description
Local request used to select source for a snapshot.
Roots are local paths. Additional inputs are portable paths relative to the workspace and cannot escape it.
Implementations§
Source§impl SourceBundleRequest
impl SourceBundleRequest
Sourcepub fn new(
workspace_root: impl Into<Utf8PathBuf>,
project_root: impl Into<Utf8PathBuf>,
) -> Self
pub fn new( workspace_root: impl Into<Utf8PathBuf>, project_root: impl Into<Utf8PathBuf>, ) -> Self
Create a request for one project contained by a workspace.
Sourcepub fn include_workspace_path(self, path: impl Into<Utf8PathBuf>) -> Self
pub fn include_workspace_path(self, path: impl Into<Utf8PathBuf>) -> Self
Add an allowlisted workspace-relative file or directory.
Sourcepub fn exclude_workspace_path(self, path: impl Into<Utf8PathBuf>) -> Self
pub fn exclude_workspace_path(self, path: impl Into<Utf8PathBuf>) -> Self
Exclude one portable workspace-relative path and all descendants.
Exclusions take precedence over the project root, built-in workspace
inputs, explicit includes, and .ferryignore. The workspace root (.)
is not a valid exclusion. Built-in sensitive exclusions remain
non-overridable and are audited separately.
Sourcepub fn with_executable_mode(
self,
path: impl Into<Utf8PathBuf>,
executable: bool,
) -> Self
pub fn with_executable_mode( self, path: impl Into<Utf8PathBuf>, executable: bool, ) -> Self
Supply portable executable-mode metadata for one workspace-relative file.
The path must be selected into the final manifest. On non-Unix hosts the supplied value is authoritative because filesystem mode bits are not available. On Unix, a true value adds executable intent while a live filesystem executable bit remains authoritative and is never cleared.
Sourcepub fn with_max_traversal_entries(self, maximum: usize) -> Self
pub fn with_max_traversal_entries(self, maximum: usize) -> Self
Apply a stricter combined traversal-entry limit than the defensive default.
Values above MAX_SOURCE_TRAVERSAL_ENTRIES are rejected during
planning rather than weakening the global defensive ceiling. The one
budget counts components in explicit request paths, filesystem directory
entries read during selection, and components in final manifest paths.
Sourcepub fn with_limits(self, limits: SourceLimits) -> Self
pub fn with_limits(self, limits: SourceLimits) -> Self
Replace the default resource limits.
Sourcepub fn workspace_root(&self) -> &Utf8Path
pub fn workspace_root(&self) -> &Utf8Path
Return the configured workspace root.
Sourcepub fn project_root(&self) -> &Utf8Path
pub fn project_root(&self) -> &Utf8Path
Return the configured project root.
Sourcepub fn workspace_inputs(&self) -> &[Utf8PathBuf]
pub fn workspace_inputs(&self) -> &[Utf8PathBuf]
Return caller-selected workspace-relative inputs.
Sourcepub fn workspace_exclusions(&self) -> &[Utf8PathBuf]
pub fn workspace_exclusions(&self) -> &[Utf8PathBuf]
Return caller-selected workspace-relative exclusions.
Sourcepub fn executable_modes(&self) -> &[(Utf8PathBuf, bool)]
pub fn executable_modes(&self) -> &[(Utf8PathBuf, bool)]
Return caller-supplied portable executable-mode metadata.
Sourcepub fn max_traversal_entries(&self) -> usize
pub fn max_traversal_entries(&self) -> usize
Return the configured combined traversal-entry limit.
The budget covers request path components, filesystem directory entries, and every component of every final manifest path.
Sourcepub fn limits(&self) -> SourceLimits
pub fn limits(&self) -> SourceLimits
Return the configured resource limits.
Trait Implementations§
Source§impl Clone for SourceBundleRequest
impl Clone for SourceBundleRequest
Source§impl Debug for SourceBundleRequest
impl Debug for SourceBundleRequest
impl Eq for SourceBundleRequest
Source§impl PartialEq for SourceBundleRequest
impl PartialEq for SourceBundleRequest
impl StructuralPartialEq for SourceBundleRequest
Auto Trait Implementations§
impl Freeze for SourceBundleRequest
impl RefUnwindSafe for SourceBundleRequest
impl Send for SourceBundleRequest
impl Sync for SourceBundleRequest
impl Unpin for SourceBundleRequest
impl UnsafeUnpin for SourceBundleRequest
impl UnwindSafe for SourceBundleRequest
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.