oxios-kernel 0.2.0

Oxios kernel: supervisor, event bus, state store
Documentation
//! Program installer utilities.

use std::fs;
use std::path::Path;

use anyhow::Result;

/// Copy directory recursively
pub(crate) fn copy_dir_all(src: &Path, dst: &Path) -> Result<()> {
    fs::create_dir_all(dst)?;

    for entry in fs::read_dir(src)? {
        let entry = entry?;
        let ty = entry.file_type()?;
        let dest = dst.join(entry.file_name());

        if ty.is_dir() {
            copy_dir_all(&entry.path(), &dest)?;
        } else {
            fs::copy(entry.path(), &dest)?;
        }
    }

    Ok(())
}