scarb 0.5.2

The Cairo package manager
Documentation
use anyhow::Result;
use cairo_lang_compiler::db::RootDatabase;

pub use compilation_unit::*;
pub use profile::*;
pub use repository::*;

use crate::core::Workspace;

mod compilation_unit;
mod compilers;
pub mod db;
pub mod helpers;
pub mod plugin;
mod profile;
mod repository;

pub trait Compiler: Sync {
    fn target_kind(&self) -> &str;

    fn compile(
        &self,
        unit: CompilationUnit,
        db: &mut RootDatabase,
        ws: &Workspace<'_>,
    ) -> Result<()>;
}