lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

build_output.rs (897B)


      1 use std::ffi::OsStr;
      2 
      3 pub(crate) fn is_build_output_directory(name: &OsStr) -> bool {
      4     matches!(
      5         name.to_str(),
      6         Some(".build" | ".gradle" | ".kotlin" | "build" | "node_modules" | "out" | "target")
      7     )
      8 }
      9 
     10 #[cfg(test)]
     11 mod tests {
     12     use super::*;
     13 
     14     #[test]
     15     fn recognizes_only_exact_build_output_directory_names() {
     16         for name in [
     17             ".build",
     18             ".gradle",
     19             ".kotlin",
     20             "build",
     21             "node_modules",
     22             "out",
     23             "target",
     24         ] {
     25             assert!(is_build_output_directory(OsStr::new(name)), "{name}");
     26         }
     27         for name in [
     28             ".builder",
     29             ".build-output",
     30             "builds",
     31             "node_module",
     32             "output",
     33             "targets",
     34         ] {
     35             assert!(!is_build_output_directory(OsStr::new(name)), "{name}");
     36         }
     37     }
     38 }