use crate::ModuleType;
use anyhow::Result;
use std::{env, fs, path::PathBuf};
pub fn build(package: &str, module: Option<ModuleType>) -> Result<()> {
println!("rerun-if-changed=build.rs");
println!("rerun-if-changed=src");
let target = env::var("TARGET")?;
if target.contains("polkavm") {
return Ok(());
}
let target = etc::find_up("target")?;
let jam = target.join("jam");
let parget = jam.join(package);
let mut build = crate::cmd::Build::default();
if let Some(module) = module {
build.module = module;
}
build.target = Some(parget.clone());
build.run()?;
let name = format!("{package}.jam");
let binary = parget.join("jam").join(&name);
let service = PathBuf::from(env::var("OUT_DIR")?).join("service.jam");
println!("Copying service to OUT_DIR: {}", service.display());
fs::copy(&binary, &service)?;
fs::copy(&binary, jam.join(name))?;
Ok(())
}