soar_core/package/formats/
wrappe.rs

1use std::path::{Path, PathBuf};
2
3use crate::SoarResult;
4
5use super::common::create_portable_link;
6
7pub fn setup_wrappe_portable_dir<P: AsRef<Path>>(
8    bin_path: P,
9    pkg_name: &str,
10    portable: Option<&str>,
11) -> SoarResult<()> {
12    let bin_path = bin_path.as_ref();
13    let package_path = &bin_path.parent().unwrap();
14    let real_path = package_path.join(format!(".{pkg_name}.wrappe"));
15
16    if let Some(portable) = portable {
17        if !portable.is_empty() {
18            let portable = PathBuf::from(portable);
19            create_portable_link(&portable, &real_path, pkg_name, "wrappe")?;
20        }
21    }
22
23    Ok(())
24}