diff --git a/src/template.rs b/src/template.rs index 9ceab93..ac3a450 100644 --- a/src/template.rs +++ b/src/template.rs @@ -252,10 +252,10 @@ fn print_containerfile(containerfile: &str) -> String { file } -fn get_module_from_file(file: &str) -> ModuleExt { +fn get_module_from_file(file: &str) -> String { trace!("get_module_from_file({file})"); - serde_yaml::from_str( + serde_yaml::from_str::( fs::read_to_string(format!("config/{file}").as_str()) .unwrap_or_else(|e| { error!("Failed to read module {file}: {e}"); @@ -264,7 +264,12 @@ fn get_module_from_file(file: &str) -> ModuleExt { .as_str(), ) .unwrap_or_else(|e| { - error!("Failed to parse {file}: {e}"); + error!("Failed to parse module {file}: {e}"); + process::exit(1); + }) + .render() + .unwrap_or_else(|e| { + error!("Failed to render module {file}: {e}"); process::exit(1); }) } diff --git a/templates/Containerfile.module b/templates/Containerfile.module index eceb259..6f1c563 100644 --- a/templates/Containerfile.module +++ b/templates/Containerfile.module @@ -10,7 +10,7 @@ RUN chmod +x /tmp/modules/{{ type }}/{{ type }}.sh && source /tmp/exports.sh && /tmp/modules/{{ type }}/{{ type }}.sh '{{ self::print_module_context(module) }}' {%- endif %} {%- else if let Some(from_file) = module.from_file %} -{{ self::get_module_from_file(from_file).render().unwrap() }} +{{ self::get_module_from_file(from_file) }} {%- endif %} {%- endfor %}