pub struct GitSnapshotDescriptor {
pub schema_version: u32,
pub operation_id: String,
pub source_repository: String,
pub snapshot_ref: String,
pub request_template_sha256: String,
pub bundle: SourceBundleDescriptor,
}Expand description
Strict binding for one operation-scoped GitHub dirty-source snapshot.
The orphan commit containing this descriptor has exactly the two paths in
GIT_SNAPSHOT_TREE_PATHS. The full request hash cannot be embedded because
its source_revision is the SHA of that commit; request_template_sha256
therefore covers the canonical request with only source_revision omitted.
Fields§
§schema_version: u32Git snapshot descriptor schema version.
operation_id: StringExact operation identifier used to derive snapshot_ref.
source_repository: StringExact normalized credential-free HTTPS GitHub source repository.
snapshot_ref: StringExact operation-derived heads ref carrying the orphan commit.
request_template_sha256: StringCanonical request SHA-256 with only source_revision omitted.
bundle: SourceBundleDescriptorDeterministic ZIP transport and exact source manifest.
Implementations§
Source§impl GitSnapshotDescriptor
impl GitSnapshotDescriptor
Sourcepub fn from_request(
request: &IosDeviceBuildRequest,
bundle: SourceBundleDescriptor,
) -> Result<Self, SourceError>
pub fn from_request( request: &IosDeviceBuildRequest, bundle: SourceBundleDescriptor, ) -> Result<Self, SourceError>
Construct a descriptor from a pre-publication or final Git snapshot request.
§Errors
Returns an error when request fields, manifest binding, repository, ref, digest, or source size violates the Git snapshot contract.
Sourcepub fn validate(&self, limits: SourceArchiveLimits) -> Result<(), SourceError>
pub fn validate(&self, limits: SourceArchiveLimits) -> Result<(), SourceError>
Validate a standalone descriptor against strict Git snapshot bounds.
§Errors
Returns an error for any unsupported, ambiguous, non-canonical, or oversized field.
Sourcepub fn validate_for_request(
&self,
request: &IosDeviceBuildRequest,
limits: SourceArchiveLimits,
) -> Result<(), SourceError>
pub fn validate_for_request( &self, request: &IosDeviceBuildRequest, limits: SourceArchiveLimits, ) -> Result<(), SourceError>
Require exact binding to the final published request.
§Errors
Returns an error for request drift in operation, repository, template, mode, or manifest.
Trait Implementations§
Source§impl Clone for GitSnapshotDescriptor
impl Clone for GitSnapshotDescriptor
Source§impl Debug for GitSnapshotDescriptor
impl Debug for GitSnapshotDescriptor
Source§impl<'de> Deserialize<'de> for GitSnapshotDescriptor
impl<'de> Deserialize<'de> for GitSnapshotDescriptor
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>,
impl Eq for GitSnapshotDescriptor
Source§impl JsonSchema for GitSnapshotDescriptor
impl JsonSchema for GitSnapshotDescriptor
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for GitSnapshotDescriptor
impl PartialEq for GitSnapshotDescriptor
Source§impl Serialize for GitSnapshotDescriptor
impl Serialize for GitSnapshotDescriptor
impl StructuralPartialEq for GitSnapshotDescriptor
Auto Trait Implementations§
impl Freeze for GitSnapshotDescriptor
impl RefUnwindSafe for GitSnapshotDescriptor
impl Send for GitSnapshotDescriptor
impl Sync for GitSnapshotDescriptor
impl Unpin for GitSnapshotDescriptor
impl UnsafeUnpin for GitSnapshotDescriptor
impl UnwindSafe for GitSnapshotDescriptor
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
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
key and return true if they are equal.