pub struct ExternalDependency {
pub name: String,
pub repo_url: String,
pub commit: String,
pub include_paths: Vec<String>,
pub extra_paths: Vec<String>,
pub recurse_submodules: bool,
}Expand description
External dependency configuration.
Fields§
§name: StringName of the dependency.
repo_url: StringGit repository URL.
commit: StringCommit hash to checkout.
include_paths: Vec<String>Include paths within the repo (relative to repo root).
extra_paths: Vec<String>Additional sparse-checkout paths to fetch alongside includes.
recurse_submodules: boolWhether to allow git submodule recursion.
Implementations§
Source§impl ExternalDependency
impl ExternalDependency
Sourcepub fn cutlass(commit: Option<&str>) -> Self
pub fn cutlass(commit: Option<&str>) -> Self
Create a CUTLASS dependency with default or custom commit.
Sourcepub fn git(
name: &str,
repo_url: &str,
commit: &str,
include_paths: Vec<&str>,
extra_paths: Vec<&str>,
recurse_submodules: bool,
) -> Self
pub fn git( name: &str, repo_url: &str, commit: &str, include_paths: Vec<&str>, extra_paths: Vec<&str>, recurse_submodules: bool, ) -> Self
Create a custom git dependency.
Sourcepub fn fetch(&self, out_dir: &Path) -> Result<PathBuf>
pub fn fetch(&self, out_dir: &Path) -> Result<PathBuf>
Fetch the dependency to the cache directory.
Uses sparse checkout to only fetch include directories. Caches under
~/.baracuda-forge/git/checkouts/{name}-{commit_prefix}/ to avoid
re-cloning on subsequent builds. Uses file locking to prevent
concurrent builds from conflicting.
Sourcepub fn include_args(&self, base_dir: &Path) -> Vec<String>
pub fn include_args(&self, base_dir: &Path) -> Vec<String>
Get include path arguments for nvcc.
Trait Implementations§
Source§impl Clone for ExternalDependency
impl Clone for ExternalDependency
Source§fn clone(&self) -> ExternalDependency
fn clone(&self) -> ExternalDependency
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ExternalDependency
impl RefUnwindSafe for ExternalDependency
impl Send for ExternalDependency
impl Sync for ExternalDependency
impl Unpin for ExternalDependency
impl UnsafeUnpin for ExternalDependency
impl UnwindSafe for ExternalDependency
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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