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(())
}