Skip to content

Commit bd548d0

Browse files
committed
fix: generate asset files
1 parent d169f5c commit bd548d0

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

build.rs

+16-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ fn main() {
2121
}
2222
}
2323

24-
fs::copy("extras/comunidades/assets", "gen_assets").unwrap();
24+
copy_dir_all("extras/comunidades/assets", "gen_assets").unwrap();
2525

2626
// Generate src/extras/mod.rs
2727
let mut out = fs::File::create("src/extras/mod.rs").unwrap();
@@ -45,6 +45,20 @@ fn main() {
4545
}
4646
}
4747

48+
fn copy_dir_all(src: impl AsRef<Path>, dst: impl AsRef<Path>) -> std::io::Result<()> {
49+
fs::create_dir_all(&dst)?;
50+
for entry in fs::read_dir(src)? {
51+
let entry = entry?;
52+
let ty = entry.file_type()?;
53+
if ty.is_dir() {
54+
copy_dir_all(entry.path(), dst.as_ref().join(entry.file_name()))?;
55+
} else {
56+
fs::copy(entry.path(), dst.as_ref().join(entry.file_name()))?;
57+
}
58+
}
59+
Ok(())
60+
}
61+
4862
fn generate_comunity(path: PathBuf) {
4963
let folders = fs::read_dir(path.as_path()).unwrap();
5064
let mut comunities = Vec::new();
@@ -93,7 +107,6 @@ fn generate_comunity(path: PathBuf) {
93107
}
94108

95109
fn iter_dir(path: PathBuf, mut callback: impl FnMut(DirEntry, Metadata)) {
96-
println!("Read Dir: {path:?}");
97110
let folders = fs::read_dir(path.as_path()).unwrap();
98111
for folder in folders {
99112
let folder = folder.unwrap();
@@ -110,7 +123,6 @@ fn generate_projects(path: PathBuf) {
110123
}
111124
let category = folder.file_name();
112125
let category = category.to_str().unwrap();
113-
println!("Category: {category}");
114126

115127
let category = category.to_string();
116128
iter_dir(folder.path(), |file, meta| {
@@ -124,6 +136,7 @@ fn generate_projects(path: PathBuf) {
124136
let file_name = file_name.to_str().unwrap();
125137
// Copy images or other files
126138
fs::copy(&file_path, format!("gen_assets/{file_name}")).unwrap();
139+
return;
127140
}
128141

129142
let toml_str = fs::read_to_string(&file_path).unwrap();

0 commit comments

Comments
 (0)