From 28a3ba05c48cd109468854886947b57dc8885de7 Mon Sep 17 00:00:00 2001 From: Toby Davis Date: Thu, 30 May 2024 01:43:28 +0100 Subject: [PATCH] Minor changes --- src/builders/cmake.rs | 1 - src/flavours.rs | 2 +- src/module.rs | 19 ++++++++++++++++++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/builders/cmake.rs b/src/builders/cmake.rs index 0cf5e1f..f9f5e60 100644 --- a/src/builders/cmake.rs +++ b/src/builders/cmake.rs @@ -43,7 +43,6 @@ impl CMake { if let Some(flags) = &self.configure_flags { for flag in flags { - // cmake.arg(flag); cmake_cmd.push_str(&format!(" {flag}")); } } diff --git a/src/flavours.rs b/src/flavours.rs index 0d9de48..3fcf3ec 100644 --- a/src/flavours.rs +++ b/src/flavours.rs @@ -17,7 +17,7 @@ pub fn generate(module: &Module) -> Result, usize)>, String> { .map(|name| { modules .iter() - .find(|m| &m.identifier() == name) + .find(|m| (&m.identifier() == name) || (&m.mod_name() == name)) .ok_or(format!( "Failed to find module matching dependency '{name}'" )) diff --git a/src/module.rs b/src/module.rs index f35c9c1..5bbc1a4 100644 --- a/src/module.rs +++ b/src/module.rs @@ -67,6 +67,7 @@ impl Module { /// - modules: module names necessary for installation pub fn parse(&self, flavour: &(&[Module], usize)) -> (String, String, String, Vec) { // Generate extension to build path based on flavour + let conf = config::read().unwrap(); let mut flavour_str = format!("{PATH_SEP}1{PATH_SEP}"); // '/1/' for revision // If no class modules are required, install into `default` flavour @@ -85,10 +86,22 @@ impl Module { let build_path = self.build_path.clone() + &flavour_str; let install_path = self.install_path.clone() + &flavour_str; + // let modules: Vec = flavour + // .0 + // .iter() + // .map(|flav| format!("{}/{}/{}", flav.class, flav.name, flav.version)) + // .collect(); + + // List of modulefiles let modules: Vec = flavour .0 .iter() - .map(|flav| format!("{}/{}/{}", flav.class, flav.name, flav.version)) + .map(|flav| { + format!( + "{}/{}/{}/{}", + conf.modulefile_root, flav.class, flav.name, flav.version + ) + }) .collect(); (flavour_str, build_path, install_path, modules) @@ -98,6 +111,10 @@ impl Module { format!("{}/{}/{}", self.class, self.name, self.version) } + pub fn mod_name(&self) -> String { + format!("{}/{}", self.name, self.version) + } + /// Download the source code for the module, based on its [`Downloader`]. /// /// # Errors