Enum guppy::graph::PackageSource
source · Expand description
The source of a package.
This enum contains information about where a package is found, and whether it is inside or outside the workspace.
Variants§
Workspace(&'g Utf8Path)
This package is in the workspace.
The path is relative to the workspace root.
Path(&'g Utf8Path)
This package is a path dependency that isn’t in the workspace.
The path is relative to the workspace root.
External(&'g str)
This package is an external dependency.
- For packages retrieved from
crates.io
, the source is the string"registry+https://github.com/rust-lang/crates.io-index"
. - For packages retrieved from other registries, the source begins with
"registry+"
. - For packages retrieved from Git repositories, the source begins with
"git+"
.
Implementations§
source§impl<'g> PackageSource<'g>
impl<'g> PackageSource<'g>
sourcepub const CRATES_IO_REGISTRY: &'static str = "registry+https://github.com/rust-lang/crates.io-index"
pub const CRATES_IO_REGISTRY: &'static str = "registry+https://github.com/rust-lang/crates.io-index"
The path to the crates.io registry.
sourcepub fn is_workspace(&self) -> bool
pub fn is_workspace(&self) -> bool
Returns true if this package source represents a workspace.
sourcepub fn is_path(&self) -> bool
pub fn is_path(&self) -> bool
Returns true if this package source represents a path dependency that isn’t in the workspace.
sourcepub fn is_external(&self) -> bool
pub fn is_external(&self) -> bool
Returns true if this package source represents an external dependency.
sourcepub fn is_crates_io(&self) -> bool
pub fn is_crates_io(&self) -> bool
Returns true if the source is crates.io
.
sourcepub fn is_local(&self) -> bool
pub fn is_local(&self) -> bool
Returns true if this package is a local dependency, i.e. either in the workspace or a local path.
sourcepub fn workspace_path(&self) -> Option<&'g Utf8Path>
pub fn workspace_path(&self) -> Option<&'g Utf8Path>
Returns the path if this is a workspace dependency, or None
if this is a non-workspace
dependency.
The path is relative to the workspace root.
sourcepub fn local_path(&self) -> Option<&'g Utf8Path>
pub fn local_path(&self) -> Option<&'g Utf8Path>
Returns the local path if this is a local dependency, or None
if it is an external
dependency.
The path is relative to the workspace root.
sourcepub fn external_source(&self) -> Option<&'g str>
pub fn external_source(&self) -> Option<&'g str>
Returns the external source if this is an external dependency, or None
if it is a local
dependency.
sourcepub fn parse_external(&self) -> Option<ExternalSource<'g>>
pub fn parse_external(&self) -> Option<ExternalSource<'g>>
Attempts to parse an external source.
Returns None
if the external dependency could not be recognized, or if it is a local
dependency.
For more about external sources, see the documentation for ExternalSource
.
source§impl<'g> PackageSource<'g>
impl<'g> PackageSource<'g>
sourcepub fn to_summary_source(&self) -> SummarySource
Available on crate feature summaries
only.
pub fn to_summary_source(&self) -> SummarySource
summaries
only.Converts a PackageSource
into a SummarySource
.
Requires the summaries
feature to be enabled.
Trait Implementations§
source§impl<'g> Clone for PackageSource<'g>
impl<'g> Clone for PackageSource<'g>
source§fn clone(&self) -> PackageSource<'g>
fn clone(&self) -> PackageSource<'g>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<'g> Debug for PackageSource<'g>
impl<'g> Debug for PackageSource<'g>
source§impl<'g> Display for PackageSource<'g>
impl<'g> Display for PackageSource<'g>
source§impl<'g> Hash for PackageSource<'g>
impl<'g> Hash for PackageSource<'g>
source§impl<'g> PartialEq<PackageSource<'g>> for PackageSource<'g>
impl<'g> PartialEq<PackageSource<'g>> for PackageSource<'g>
source§fn eq(&self, other: &PackageSource<'g>) -> bool
fn eq(&self, other: &PackageSource<'g>) -> bool
source§impl<'g> PartialEq<SummarySource> for PackageSource<'g>
Available on crate feature summaries
only.
impl<'g> PartialEq<SummarySource> for PackageSource<'g>
summaries
only.source§fn eq(&self, summary_source: &SummarySource) -> bool
fn eq(&self, summary_source: &SummarySource) -> bool
impl<'g> Copy for PackageSource<'g>
impl<'g> Eq for PackageSource<'g>
impl<'g> StructuralEq for PackageSource<'g>
impl<'g> StructuralPartialEq for PackageSource<'g>
Auto Trait Implementations§
impl<'g> RefUnwindSafe for PackageSource<'g>
impl<'g> Send for PackageSource<'g>
impl<'g> Sync for PackageSource<'g>
impl<'g> Unpin for PackageSource<'g>
impl<'g> UnwindSafe for PackageSource<'g>
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.