pub struct Tree { /* private fields */ }Expand description
A tree is a collection of files where installed rocks are located.
lux diverges from the traditional hierarchy employed by luarocks.
Instead, we opt for a much simpler approach:
- /rocks/
- contains rocks - /rocks/
/ /etc - documentation and supplementary files for the rock - /rocks/
/ /lib - shared libraries (.so files) - /rocks/
/ /src - library code for the rock - /bin - binary files produced by various rocks
Implementations§
Source§impl Tree
impl Tree
pub fn list(&self) -> Result<HashMap<PackageName, Vec<LocalPackage>>, TreeError>
pub fn as_rock_list(&self) -> Result<Vec<LocalPackage>, TreeError>
Source§impl Tree
impl Tree
pub fn version(&self) -> &LuaVersion
pub fn root_for(&self, package: &LocalPackage) -> PathBuf
pub fn bin(&self) -> PathBuf
pub fn match_rocks(&self, req: &PackageReq) -> Result<RockMatches, TreeError>
pub fn match_rocks_and<F>( &self, req: &PackageReq, filter: F, ) -> Result<RockMatches, TreeError>
Sourcepub fn installed_rock_layout(
&self,
package: &LocalPackage,
) -> Result<RockLayout, TreeError>
pub fn installed_rock_layout( &self, package: &LocalPackage, ) -> Result<RockLayout, TreeError>
Get the RockLayout for an installed package.
Sourcepub fn entrypoint_layout(&self, package: &LocalPackage) -> RockLayout
pub fn entrypoint_layout(&self, package: &LocalPackage) -> RockLayout
Create a RockLayout for an entrypoint
Sourcepub fn dependency_layout(&self, package: &LocalPackage) -> RockLayout
pub fn dependency_layout(&self, package: &LocalPackage) -> RockLayout
Create a RockLayout for a dependency
Sourcepub fn entrypoint(&self, package: &LocalPackage) -> Result<RockLayout>
pub fn entrypoint(&self, package: &LocalPackage) -> Result<RockLayout>
Create a RockLayout for an entrypoint package, creating the lib and src directories.
Sourcepub fn dependency(&self, package: &LocalPackage) -> Result<RockLayout>
pub fn dependency(&self, package: &LocalPackage) -> Result<RockLayout>
Create a RockLayout for a dependency package, creating the lib and src directories.
pub fn lockfile(&self) -> Result<Lockfile<ReadOnly>, TreeError>
Sourcepub fn lockfile_path(&self) -> PathBuf
pub fn lockfile_path(&self) -> PathBuf
Get this tree’s lockfile path.
Sourcepub fn test_tree(&self, config: &Config) -> Result<Self, TreeError>
pub fn test_tree(&self, config: &Config) -> Result<Self, TreeError>
The tree in which to install test dependencies
Sourcepub fn build_tree(&self, config: &Config) -> Result<Self, TreeError>
pub fn build_tree(&self, config: &Config) -> Result<Self, TreeError>
The tree in which to install build dependencies
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Tree
impl RefUnwindSafe for Tree
impl Send for Tree
impl Sync for Tree
impl Unpin for Tree
impl UnsafeUnpin for Tree
impl UnwindSafe for Tree
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> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
Source§impl<T, S> SpanWrap<S> for Twhere
S: WrappingSpan<T>,
impl<T, S> SpanWrap<S> for Twhere
S: WrappingSpan<T>,
Source§fn with_span(self, span: S) -> <S as WrappingSpan<Self>>::Spanned
fn with_span(self, span: S) -> <S as WrappingSpan<Self>>::Spanned
Invokes
WrappingSpan::make_wrapped to wrap an AST node in a span.