feat(day01): day 1 solutions and initial commit
This commit is contained in:
7 files changed
+1243
No files matched your search
@@ -0,0 +1,41 @@
|
||||
use std::{
|
||||
fs::{self, File},
|
||||
io::Write,
|
||||
path::Path,
|
||||
};
|
||||
|
||||
fn main() -> std::io::Result<()> {
|
||||
let src_dir = Path::new("src");
|
||||
let out_dir = src_dir;
|
||||
let mut days = Vec::new();
|
||||
|
||||
// Scan for dayXX.rs files
|
||||
for entry in fs::read_dir(src_dir)? {
|
||||
let entry = entry?;
|
||||
let path = entry.path();
|
||||
if path.is_file() {
|
||||
if let Some(name) = path.file_stem().and_then(|s| s.to_str()) {
|
||||
if name.starts_with("day")
|
||||
&& path.extension().and_then(|s| s.to_str()) == Some("rs")
|
||||
{
|
||||
days.push(name.to_string());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sort days to maintain order
|
||||
days.sort();
|
||||
|
||||
// Write the generated module declarations directly into src directory
|
||||
let dest_path = Path::new(&out_dir).join("days_mod.inc");
|
||||
let mut file = File::create(dest_path)?;
|
||||
|
||||
writeln!(file, "// generated by build.rs")?;
|
||||
writeln!(file, "// do not include in source control!")?;
|
||||
for day in days {
|
||||
writeln!(file, "pub mod {};", day)?;
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
Reference in new issue
Block a user