pub struct ReleaseManifest {
pub release_kit_version: String,
pub payload_schema: u32,
pub payload_sha256: Digest,
pub artifacts: Vec<Artifact>,
}Expand description
What identifies one release bundle: the rk.payload/1 document, as
rk payload --json has always emitted it, promoted to a type.
Fields§
§release_kit_version: StringThe release’s version.
payload_schema: u32The bundle protocol version.
payload_sha256: DigestOne digest over the ordered artifact list, identifying the payload as a whole.
artifacts: Vec<Artifact>Every artifact, in root order and sorted within each root.
Implementations§
Source§impl ReleaseManifest
impl ReleaseManifest
Sourcepub fn new(
release_kit_version: String,
payload_schema: u32,
artifacts: Vec<Artifact>,
) -> Self
pub fn new( release_kit_version: String, payload_schema: u32, artifacts: Vec<Artifact>, ) -> Self
Build the manifest over an artifact list already in root order.
Sourcepub fn under<'a>(
&'a self,
prefix: &'a str,
) -> impl Iterator<Item = (&'a str, &'a Artifact)>
pub fn under<'a>( &'a self, prefix: &'a str, ) -> impl Iterator<Item = (&'a str, &'a Artifact)>
The artifacts under one directory prefix, as (path below the prefix, artifact), in manifest order.
Sourcepub fn dirs_under(&self, prefix: &str) -> Vec<String>
pub fn dirs_under(&self, prefix: &str) -> Vec<String>
The immediate child directories of one prefix, deduplicated, in manifest order.
Sourcepub fn check_schema(&self) -> Result<(), RkError>
pub fn check_schema(&self) -> Result<(), RkError>
Refuse a bundle whose protocol is newer than this engine’s.
§Errors
Returns RkError::Refusal naming the bundle’s version as the
engine to install when its schema exceeds PAYLOAD_SCHEMA.
Trait Implementations§
Source§impl Clone for ReleaseManifest
impl Clone for ReleaseManifest
Source§fn clone(&self) -> ReleaseManifest
fn clone(&self) -> ReleaseManifest
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 moreSource§impl Debug for ReleaseManifest
impl Debug for ReleaseManifest
Source§impl<'de> Deserialize<'de> for ReleaseManifest
impl<'de> Deserialize<'de> for ReleaseManifest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ReleaseManifest
Source§impl PartialEq for ReleaseManifest
impl PartialEq for ReleaseManifest
Source§impl Serialize for ReleaseManifest
impl Serialize for ReleaseManifest
impl StructuralPartialEq for ReleaseManifest
Auto Trait Implementations§
impl Freeze for ReleaseManifest
impl RefUnwindSafe for ReleaseManifest
impl Send for ReleaseManifest
impl Sync for ReleaseManifest
impl Unpin for ReleaseManifest
impl UnsafeUnpin for ReleaseManifest
impl UnwindSafe for ReleaseManifest
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.