pub enum HcAppBundle {
Init {
path: PathBuf,
},
Pack {
path: PathBuf,
output: Option<PathBuf>,
recursive: bool,
},
Unpack {
path: PathBuf,
output: Option<PathBuf>,
raw: bool,
force: bool,
},
}
Expand description
Work with Holochain hApp bundles
Variants
Init
Fields
path: PathBuf
The path to create the working directory
Create a new, empty Holochain app (hApp) working directory and create a new
sample happ.yaml
manifest inside.
Pack
Fields
path: PathBuf
The path to the working directory containing a happ.yaml
manifest
output: Option<PathBuf>
Specify the output path for the packed bundle file
If not specified, the [name].happ
bundle will be placed inside the
provided working directory.
recursive: bool
Also run dna pack
on all DNAs manifests
that have their location bundled
Pack into the [name].happ
bundle according to the happ.yaml
manifest,
found inside the working directory. The [name]
is taken from the name
property of the manifest file.
e.g.:
$ hc app pack ./some/directory/foo
creates a file ./some/directory/foo/[name].happ
, based on
./some/directory/foo/happ.yaml
Unpack
Fields
path: PathBuf
The path to the bundle to unpack
output: Option<PathBuf>
Specify the directory for the unpacked content
If not specified, the directory will be placed alongside the bundle file, with the same name as the bundle file name.
raw: bool
Don’t attempt to parse the manifest. Useful if you have a manifest of an outdated format. This command will allow you to unpack the manifest so that it may be modified and repacked into a valid bundle.
force: bool
Overwrite an existing directory, if one exists
Unpack parts of the .happ
bundle file into a specific directory.
e.g.:
$ hc app unpack ./some/dir/my-app.happ
creates a new directory ./some/dir/my-app
, containining a new happ.yaml
manifest
Implementations
Trait Implementations
sourceimpl Debug for HcAppBundle
impl Debug for HcAppBundle
sourceimpl StructOpt for HcAppBundle
impl StructOpt for HcAppBundle
sourcefn from_clap(matches: &ArgMatches<'_>) -> Self
fn from_clap(matches: &ArgMatches<'_>) -> Self
clap::ArgMatches
. It’s guaranteed to succeed
if matches
originates from an App
generated by StructOpt::clap
called on
the same type, otherwise it must panic. Read moresourcefn from_args() -> Selfwhere
Self: Sized,
fn from_args() -> Selfwhere
Self: Sized,
std::env::args_os
).
Calls clap::Error::exit
on failure, printing the error message and aborting the program. Read moresourcefn from_args_safe() -> Result<Self, Error>where
Self: Sized,
fn from_args_safe() -> Result<Self, Error>where
Self: Sized,
std::env::args_os
).
Unlike StructOpt::from_args
, returns clap::Error
on failure instead of aborting the program,
so calling .exit
is up to you. Read moresourcefn from_iter<I>(iter: I) -> Selfwhere
Self: Sized,
I: IntoIterator,
<I as IntoIterator>::Item: Into<OsString> + Clone,
fn from_iter<I>(iter: I) -> Selfwhere
Self: Sized,
I: IntoIterator,
<I as IntoIterator>::Item: Into<OsString> + Clone,
Vec
of your making.
Print the error message and quit the program in case of failure. Read moresourcefn from_iter_safe<I>(iter: I) -> Result<Self, Error>where
Self: Sized,
I: IntoIterator,
<I as IntoIterator>::Item: Into<OsString> + Clone,
fn from_iter_safe<I>(iter: I) -> Result<Self, Error>where
Self: Sized,
I: IntoIterator,
<I as IntoIterator>::Item: Into<OsString> + Clone,
Vec
of your making. Read moreAuto Trait Implementations
impl RefUnwindSafe for HcAppBundle
impl Send for HcAppBundle
impl Sync for HcAppBundle
impl Unpin for HcAppBundle
impl UnwindSafe for HcAppBundle
Blanket Implementations
impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
impl<T> FutureExt for T
impl<T> FutureExt for T
fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read morefn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.