use std::fs::{create_dir_all, File};
use std::io::prelude::*;
use std::path::Path;
use tempfile::{tempdir, TempDir};
#[allow(dead_code)]
pub fn create_project(name: &str) -> Result<TempDir, Box<dyn std::error::Error>> {
let root_dir = tempdir()?;
let folder = root_dir.path();
let mut cfg_file = File::create(folder.join("orcs.toml"))?;
let cfg_data = format!("global.params.project = \"{}\"", name);
cfg_file.write_all(cfg_data.as_bytes())?;
Ok(root_dir)
}
#[allow(dead_code)]
pub fn create_service(folder: &Path, name: &str) -> Result<(), Box<dyn std::error::Error>> {
let service_path = folder.join("srv").join(name);
create_dir_all(&service_path)?;
let mut file = File::create(service_path.join("orcs.toml"))?;
let data = "stages.build.actions = [\"echo 'Hello world'\"]";
file.write_all(data.as_bytes())?;
Ok(())
}
#[allow(dead_code)]
pub fn create_recipe(folder: &Path, name: &str) -> Result<(), Box<dyn std::error::Error>> {
let recipe_path = folder.join("rcp");
create_dir_all(&recipe_path)?;
let mut file = File::create(recipe_path.join(format!("{}.toml", name)))?;
let data = "stages.build.actions = [\"echo 'Hello world'\"]";
file.write_all(data.as_bytes())?;
Ok(())
}