Skip to main content

DslEngine

Trait DslEngine 

Source
pub trait DslEngine: Send + Sync {
    // Required methods
    fn list_pipelines<'life0, 'life1, 'async_trait>(
        &'life0 self,
        project_dir: &'life1 Path,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<PipelineMeta>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn render_pipeline_json<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        project_dir: &'life1 Path,
        slug: &'life2 str,
    ) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn registry_json<'life0, 'life1, 'async_trait>(
        &'life0 self,
        project_dir: &'life1 Path,
    ) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}

Required Methods§

Source

fn list_pipelines<'life0, 'life1, 'async_trait>( &'life0 self, project_dir: &'life1 Path, ) -> Pin<Box<dyn Future<Output = Result<Vec<PipelineMeta>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn render_pipeline_json<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, project_dir: &'life1 Path, slug: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn registry_json<'life0, 'life1, 'async_trait>( &'life0 self, project_dir: &'life1 Path, ) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Emit the full discovery envelope JSON for every pipeline in the repo: {"schema_version": "...", "pipelines": [{slug, name, allow_manual, triggers, definition}, ...]}. Returned verbatim from the DSL runtime so the backend’s pipeline discovery can consume it directly.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§