1
0
Fork 0
forked from koniifer/ableos

factor out separating path names from the boot prefix

This commit is contained in:
Christian Westrom 2024-06-01 00:43:40 +09:00
parent da606facb0
commit b0358efab8

View file

@ -12,6 +12,7 @@ use {
path::Path,
process::{exit, Command},
},
toml::Value,
};
fn main() -> Result<(), Error> {
@ -124,6 +125,10 @@ fn assemble() -> Result<(), Error> {
Ok(())
}
fn get_path_without_boot_prefix(val: &Value) -> Option<&str> {
val.as_str()?.split("boot:///").last()
}
fn get_fs() -> Result<FileSystem<impl ReadWriteSeek>, io::Error> {
let filename = "sysdata/system_config.toml";
@ -192,12 +197,7 @@ TERM_BACKDROP={}
);
// Copy the term_wallpaper to the image
let term_wallpaper_path = term_wallpaper
.as_str()
.unwrap()
.split("boot:///")
.last()
.unwrap();
let term_wallpaper_path = get_path_without_boot_prefix(term_wallpaper).unwrap();
copy_file_to_img(&format!("sysdata/{}", term_wallpaper_path), &fs);
limine_str.push_str(&base);
@ -242,17 +242,13 @@ TERM_BACKDROP={}
modules.into_iter().for_each(|(key, value)| {
if value.is_table() && key == "tests" {
let path = value
.get("path")
.expect("You must have `path` as a value")
.as_str()
.unwrap()
.split("boot:///")
.last()
.unwrap()
.split(".")
.next()
.unwrap();
let path = get_path_without_boot_prefix(
value.get("path").expect("You must have `path` as a value"),
)
.unwrap()
.split(".")
.next()
.unwrap();
let p = Package::load_from_file(
format!("sysdata/programs/{}/meta.toml", path).to_owned(),
);
@ -278,14 +274,12 @@ TERM_BACKDROP={}
// Copy modules into the test_programs directory
modules.into_iter().for_each(|(_key, value)| {
if value.is_table() {
let path = value
.get("path")
.expect("You must have a `path` as a value")
.as_str()
.unwrap()
.split("boot:///")
.last()
.unwrap();
let path = get_path_without_boot_prefix(
value
.get("path")
.expect("You must have a `path` as a value"),
)
.unwrap();
let fpath = format!("target/test-programs/{}", path);
copy_file_to_img(&fpath, &fs);
}