fn get_mappings_from_file()

in src/mapping.rs [251:293]


    fn get_mappings_from_file(
        vars: &HashMap<String, String>,
        file: &Option<&str>,
        out: &mut Vec<PathMappingGenerator>,
    ) -> common::Result<()> {
        if let Some(file) = file {
            let mut mappings = Mappings::new(file)?;
            for (k, v) in vars {
                mappings.variables.insert(k.to_string(), v.to_string());
            }

            let mut no_files = Vec::new();

            for Mapping {
                source,
                destination,
                files,
            } in mappings.mappings.drain(..)
            {
                if files.is_empty() {
                    no_files.push(PathMappingGenerator::new(
                        &source,
                        &destination,
                        &mappings.variables,
                        files,
                    )?);
                } else {
                    out.push(PathMappingGenerator::new(
                        &source,
                        &destination,
                        &mappings.variables,
                        files,
                    )?);
                }
            }

            for m in no_files.drain(..) {
                out.push(m);
            }
        }

        Ok(())
    }