pub struct PackageManifestFile { /* private fields */ }
Expand description
A PackageManifest that was deserialized from a file at a particular path.
Implementations§
Source§impl PackageManifestFile
impl PackageManifestFile
Sourcepub fn resolve_patch(
&self,
patch_name: &str,
) -> Result<Option<BTreeMap<String, Dependency>>>
pub fn resolve_patch( &self, patch_name: &str, ) -> Result<Option<BTreeMap<String, Dependency>>>
Retrieve the listed patches for the given name from underlying PackageManifest
if this is
a standalone package.
If this package is a member of a workspace, patch is fetched from the workspace manifest file.
Sourcepub fn entry_path(&self) -> PathBuf
pub fn entry_path(&self) -> PathBuf
Given the directory in which the file associated with this PackageManifest
resides, produce the
path to the entry file as specified in the manifest.
This will always be a canonical path.
Sourcepub fn entry_string(&self) -> Result<Arc<str>>
pub fn entry_string(&self) -> Result<Arc<str>>
Produces the string of the entry point file.
Sourcepub fn program_type(&self) -> Result<TreeType>
pub fn program_type(&self) -> Result<TreeType>
Parse and return the associated project’s program type.
Sourcepub fn check_program_type(&self, expected_types: &[TreeType]) -> Result<()>
pub fn check_program_type(&self, expected_types: &[TreeType]) -> Result<()>
Given the current directory and expected program type, determines whether the correct program type is present.
Sourcepub fn build_profile(&self, profile_name: &str) -> Option<&BuildProfile>
pub fn build_profile(&self, profile_name: &str) -> Option<&BuildProfile>
Access the build profile associated with the given profile name.
Sourcepub fn dep_path(&self, dep_name: &str) -> Option<PathBuf>
pub fn dep_path(&self, dep_name: &str) -> Option<PathBuf>
Given the name of a path
dependency, returns the full canonical Path
to the dependency.
Sourcepub fn workspace(&self) -> Result<Option<WorkspaceManifestFile>>
pub fn workspace(&self) -> Result<Option<WorkspaceManifestFile>>
Returns the workspace manifest file if this PackageManifestFile
is one of the members.
Sourcepub fn project_name(&self) -> &str
pub fn project_name(&self) -> &str
Returns an immutable reference to the project name that this manifest file describes.
Methods from Deref<Target = PackageManifest>§
pub const DEFAULT_ENTRY_FILE_NAME: &'static str = "main.sw"
Sourcepub fn validate(&self) -> Result<()>
pub fn validate(&self) -> Result<()>
Validate the PackageManifest
.
This checks:
- The project and organization names against a set of reserved/restricted keywords and patterns.
- The validity of the details provided. Makes sure that there are no mismatching detail declarations (to prevent mixing details specific to certain types).
Sourcepub fn deps(&self) -> impl Iterator<Item = (&String, &Dependency)>
pub fn deps(&self) -> impl Iterator<Item = (&String, &Dependency)>
Produce an iterator yielding all listed dependencies.
Sourcepub fn build_profiles(&self) -> impl Iterator<Item = (&String, &BuildProfile)>
pub fn build_profiles(&self) -> impl Iterator<Item = (&String, &BuildProfile)>
Produce an iterator yielding all listed build profiles.
Sourcepub fn contract_deps(
&self,
) -> impl Iterator<Item = (&String, &ContractDependency)>
pub fn contract_deps( &self, ) -> impl Iterator<Item = (&String, &ContractDependency)>
Produce an iterator yielding all listed contract dependencies
Sourcepub fn deps_detailed(
&self,
) -> impl Iterator<Item = (&String, &DependencyDetails)>
pub fn deps_detailed( &self, ) -> impl Iterator<Item = (&String, &DependencyDetails)>
Produce an iterator yielding all Detailed
dependencies.
Sourcepub fn patches(
&self,
) -> impl Iterator<Item = (&String, &BTreeMap<String, Dependency>)>
pub fn patches( &self, ) -> impl Iterator<Item = (&String, &BTreeMap<String, Dependency>)>
Produce an iterator yielding all listed patches.
Sourcepub fn patch(&self, patch_name: &str) -> Option<&BTreeMap<String, Dependency>>
pub fn patch(&self, patch_name: &str) -> Option<&BTreeMap<String, Dependency>>
Retrieve the listed patches for the given name.
Sourcepub fn dep(&self, dep_name: &str) -> Option<&Dependency>
pub fn dep(&self, dep_name: &str) -> Option<&Dependency>
Retrieve a reference to the dependency with the given name.
Sourcepub fn dep_detailed(&self, dep_name: &str) -> Option<&DependencyDetails>
pub fn dep_detailed(&self, dep_name: &str) -> Option<&DependencyDetails>
Retrieve a reference to the dependency with the given name.
Sourcepub fn contract_dep(
&self,
contract_dep_name: &str,
) -> Option<&ContractDependency>
pub fn contract_dep( &self, contract_dep_name: &str, ) -> Option<&ContractDependency>
Retrieve a reference to the contract dependency with the given name.
Sourcepub fn contract_dependency_detailed(
&self,
contract_dep_name: &str,
) -> Option<&DependencyDetails>
pub fn contract_dependency_detailed( &self, contract_dep_name: &str, ) -> Option<&DependencyDetails>
Retrieve a reference to the contract dependency with the given name.
Trait Implementations§
Source§impl Clone for PackageManifestFile
impl Clone for PackageManifestFile
Source§fn clone(&self) -> PackageManifestFile
fn clone(&self) -> PackageManifestFile
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for PackageManifestFile
impl Debug for PackageManifestFile
Source§impl Deref for PackageManifestFile
impl Deref for PackageManifestFile
Source§impl GenericManifestFile for PackageManifestFile
impl GenericManifestFile for PackageManifestFile
Source§fn from_file<P: AsRef<Path>>(path: P) -> Result<Self>
fn from_file<P: AsRef<Path>>(path: P) -> Result<Self>
Given a path to a Forc.toml
, read it and construct a PackageManifest
.
This also validate
s the manifest, returning an Err
in the case that invalid names,
fields were used.
If core
and std
are unspecified, std
will be added to the dependencies
table
implicitly. In this case, the git tag associated with the version of this crate is used to
specify the pinned commit at which we fetch std
.
Source§fn from_dir<P: AsRef<Path>>(manifest_dir: P) -> Result<Self>
fn from_dir<P: AsRef<Path>>(manifest_dir: P) -> Result<Self>
Read the manifest from the Forc.toml
in the directory specified by the given path
or
any of its parent directories.
This is short for PackageManifest::from_file
, but takes care of constructing the path to the
file.
Source§fn lock_path(&self) -> Result<PathBuf>
fn lock_path(&self) -> Result<PathBuf>
Returns the location of the lock file for PackageManifestFile
.
Checks if this PackageManifestFile corresponds to a workspace member and if that is the case
returns the workspace level lock file’s location.
This will always be a canonical path.
Source§fn path(&self) -> &Path
fn path(&self) -> &Path
Forc.toml
from which this manifest was loaded. Read moreSource§fn member_manifests(&self) -> Result<MemberManifestFiles>
fn member_manifests(&self) -> Result<MemberManifestFiles>
Source§impl PartialEq for PackageManifestFile
impl PartialEq for PackageManifestFile
Source§impl TryInto<PackageManifestFile> for ManifestFile
impl TryInto<PackageManifestFile> for ManifestFile
impl StructuralPartialEq for PackageManifestFile
Auto Trait Implementations§
impl Freeze for PackageManifestFile
impl RefUnwindSafe for PackageManifestFile
impl Send for PackageManifestFile
impl Sync for PackageManifestFile
impl Unpin for PackageManifestFile
impl UnwindSafe for PackageManifestFile
Blanket Implementations§
Source§impl<T> AnyDebug for T
impl<T> AnyDebug for T
Source§fn as_any_ref(&self) -> &(dyn Any + 'static)
fn as_any_ref(&self) -> &(dyn Any + 'static)
Any
.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<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.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>
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>
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> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> StorageAsMut for T
impl<T> StorageAsMut for T
fn storage<Type>(&mut self) -> StorageMut<'_, Self, Type>where
Type: Mappable,
fn storage_as_mut<Type>(&mut self) -> StorageMut<'_, Self, Type>where
Type: Mappable,
Source§impl<T> StorageAsRef for T
impl<T> StorageAsRef for T
fn storage<Type>(&self) -> StorageRef<'_, Self, Type>where
Type: Mappable,
fn storage_as_ref<Type>(&self) -> StorageRef<'_, Self, Type>where
Type: Mappable,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.