pub struct ReleasePlan {
pub digest: String,
pub contract: String,
pub generator: Generator,
pub channel: Option<String>,
pub release_units: Vec<PlanReleaseUnit>,
pub tags: Vec<PlanTag>,
pub tag_order: Vec<String>,
}Expand description
Canonical digest-bound release plan.
Fields§
§digest: StringSHA-256 digest of the canonical plan payload excluding this seal.
contract: StringInterpretation contract used to compute the plan.
generator: GeneratorGenerator identity included in the digest.
channel: Option<String>Optional release channel.
release_units: Vec<PlanReleaseUnit>Changed release units ordered by id.
All release-unit and workspace tags in canonical id order.
tag_order: Vec<String>Observable tag creation order derived only from tag-after edges.
Implementations§
Source§impl ReleasePlan
impl ReleasePlan
Sourcepub fn build(root: &Path, channel: Option<&str>) -> Result<Self>
pub fn build(root: &Path, channel: Option<&str>) -> Result<Self>
Build a release plan from workspace state.
Sourcepub fn from_inputs(
root: &Path,
config: &Config,
intents: &[Intent],
channel: Option<&str>,
) -> Result<Self>
pub fn from_inputs( root: &Path, config: &Config, intents: &[Intent], channel: Option<&str>, ) -> Result<Self>
Build a plan from already-loaded configuration and intents.
Sourcepub fn to_canonical_json(&self) -> Result<String>
pub fn to_canonical_json(&self) -> Result<String>
Serialize this plan as compact canonical JSON with sorted object keys.
Sourcepub fn verify_digest(&self) -> Result<()>
pub fn verify_digest(&self) -> Result<()>
Verify that the embedded digest seals the complete plan payload.
Trait Implementations§
Source§impl Clone for ReleasePlan
impl Clone for ReleasePlan
Source§impl Debug for ReleasePlan
impl Debug for ReleasePlan
Source§impl<'de> Deserialize<'de> for ReleasePlan
impl<'de> Deserialize<'de> for ReleasePlan
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 ReleasePlan
Source§impl PartialEq for ReleasePlan
impl PartialEq for ReleasePlan
Source§impl Serialize for ReleasePlan
impl Serialize for ReleasePlan
impl StructuralPartialEq for ReleasePlan
Auto Trait Implementations§
impl Freeze for ReleasePlan
impl RefUnwindSafe for ReleasePlan
impl Send for ReleasePlan
impl Sync for ReleasePlan
impl Unpin for ReleasePlan
impl UnsafeUnpin for ReleasePlan
impl UnwindSafe for ReleasePlan
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.