Skip to content

Commit 6fd39ad

Browse files
author
Roland Peelen
committed
⚡ - Use BufWriter (via File) instead of io::write
1 parent 1d97e02 commit 6fd39ad

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

src/build.rs

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use console::style;
1010
use indicatif::{ProgressBar, ProgressStyle};
1111
use log::{debug, error, info, log_enabled, Level::Info};
1212
use rayon::prelude::*;
13-
use std::fs;
13+
use std::fs::{self, File};
1414
use std::io::{stdout, Write};
1515
use std::path::{Path, PathBuf};
1616
use std::process::Command;
@@ -215,19 +215,28 @@ fn get_dep_modules(
215215
fn gen_mlmap(
216216
package: &package_tree::Package,
217217
namespace: &str,
218-
modules: &Vec<String>,
218+
depending_modules: AHashSet<String>,
219219
root_path: &str,
220220
) -> String {
221221
let build_path_abs = helpers::get_build_path(root_path, &package.name);
222222
// we don't really need to create a digest, because we track if we need to
223223
// recompile in a different way but we need to put it in the file for it to
224224
// be readable.
225-
let mut sorted_modules = modules.clone();
226-
sorted_modules.sort();
227-
let digest = "randjbuildsystem".to_owned() + "\n" + &sorted_modules.join("\n");
228-
let file = build_path_abs.to_string() + "/" + namespace + ".mlmap";
229-
fs::write(&file, digest).expect("Unable to write mlmap");
230-
file.to_string()
225+
226+
let path = build_path_abs.to_string() + "/" + namespace + ".mlmap";
227+
let mut file = File::create(&path).expect("Unable to create mlmap");
228+
229+
file.write_all(b"randjbuildsystem\n" as &[u8])
230+
.expect("Unable to write mlmap");
231+
232+
let mut modules = Vec::from_iter(depending_modules.to_owned());
233+
modules.sort();
234+
for module in modules {
235+
file.write_all(module.as_bytes()).unwrap();
236+
file.write_all(b"\n").unwrap();
237+
}
238+
239+
path.to_string()
231240
}
232241

233242
pub fn generate_asts<'a>(
@@ -508,7 +517,7 @@ pub fn parse_packages(
508517
let mlmap = gen_mlmap(
509518
&package,
510519
namespace,
511-
&Vec::from_iter(depending_modules.to_owned()),
520+
depending_modules,
512521
project_root,
513522
);
514523

0 commit comments

Comments
 (0)