Skip to main content

BuildProvider

Trait BuildProvider 

Source
pub trait BuildProvider: Send + Sync {
    // Required methods
    fn id(&self) -> &str;
    fn capabilities(&self) -> &ProviderCapabilities;
    fn handshake(
        &self,
        request: HandshakeRequest,
        cancellation: CancellationToken,
    ) -> ProviderFuture<'_, HandshakeResponse>;
    fn doctor(
        &self,
        request: ProviderDoctorRequest,
        cancellation: CancellationToken,
    ) -> ProviderFuture<'_, ProviderDoctorReport>;
    fn submit(
        &self,
        request: IosDeviceBuildRequest,
        cancellation: CancellationToken,
    ) -> ProviderFuture<'_, JobHandle>;
    fn events(
        &self,
        request: EventRequest,
        cancellation: CancellationToken,
    ) -> ProviderFuture<'_, EventPage>;

    // Provided methods
    fn cancel(
        &self,
        _request: CancellationRequest,
        cancellation: CancellationToken,
    ) -> ProviderFuture<'_, CancellationAck> { ... }
    fn list_artifacts(
        &self,
        _request: ArtifactListRequest,
        cancellation: CancellationToken,
    ) -> ProviderFuture<'_, Vec<ArtifactManifest>> { ... }
    fn download_artifact(
        &self,
        _request: ArtifactDownloadRequest,
        cancellation: CancellationToken,
    ) -> ProviderFuture<'_, ArtifactDownloadResult> { ... }
    fn cleanup(
        &self,
        _request: CleanupRequest,
        cancellation: CancellationToken,
    ) -> ProviderFuture<'_, CleanupConfirmation> { ... }
}
Expand description

Object-safe asynchronous provider interface without a required executor or runtime.

Implementations return boxed futures and must not report success until the corresponding provider operation is confirmed. Optional methods return unsupported_capability by default.

Required Methods§

Source

fn id(&self) -> &str

Stable provider identifier used in events and errors.

Source

fn capabilities(&self) -> &ProviderCapabilities

Capabilities active for this provider configuration.

Source

fn handshake( &self, request: HandshakeRequest, cancellation: CancellationToken, ) -> ProviderFuture<'_, HandshakeResponse>

Negotiate protocol and worker compatibility.

Source

fn doctor( &self, request: ProviderDoctorRequest, cancellation: CancellationToken, ) -> ProviderFuture<'_, ProviderDoctorReport>

Inspect provider, worker, and optional signing readiness.

Source

fn submit( &self, request: IosDeviceBuildRequest, cancellation: CancellationToken, ) -> ProviderFuture<'_, JobHandle>

Submit one declarative physical-iPhone build.

Source

fn events( &self, request: EventRequest, cancellation: CancellationToken, ) -> ProviderFuture<'_, EventPage>

Retrieve a bounded ordered page of events.

Provided Methods§

Source

fn cancel( &self, _request: CancellationRequest, cancellation: CancellationToken, ) -> ProviderFuture<'_, CancellationAck>

Request cancellation of an active job.

Source

fn list_artifacts( &self, _request: ArtifactListRequest, cancellation: CancellationToken, ) -> ProviderFuture<'_, Vec<ArtifactManifest>>

List verified artifact manifests for a job.

Source

fn download_artifact( &self, _request: ArtifactDownloadRequest, cancellation: CancellationToken, ) -> ProviderFuture<'_, ArtifactDownloadResult>

Download and independently verify one artifact.

Source

fn cleanup( &self, _request: CleanupRequest, cancellation: CancellationToken, ) -> ProviderFuture<'_, CleanupConfirmation>

Delete provider-owned workspace, signing material, and optional retained artifacts.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§