From 3aae578084ef600194268debf4ae4d06dcbbe1a0 Mon Sep 17 00:00:00 2001 From: FernTheDev <15272073+Fernthedev@users.noreply.github.com> Date: Sat, 12 Aug 2023 12:37:34 -0400 Subject: [PATCH] Ignore existing qmod dependencies in template --- src/commands/qmod/mod.rs | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/src/commands/qmod/mod.rs b/src/commands/qmod/mod.rs index 3a3996d..4f4280f 100644 --- a/src/commands/qmod/mod.rs +++ b/src/commands/qmod/mod.rs @@ -2,15 +2,14 @@ use std::path::PathBuf; use clap::{Args, Subcommand}; use color_eyre::{eyre::ensure, Result}; -use qpm_package::models::{dependency::SharedPackageConfig}; +use itertools::Itertools; +use qpm_package::models::dependency::SharedPackageConfig; use qpm_qmod::models::mod_json::ModJson; use semver::Version; -use crate::{ - models::{ - mod_json::{ModJsonExtensions, PreProcessingData}, - package::{PackageConfigExtensions}, - }, +use crate::models::{ + mod_json::{ModJsonExtensions, PreProcessingData}, + package::PackageConfigExtensions, }; use super::Command; @@ -167,9 +166,20 @@ fn execute_qmod_build_operation(build_parameters: BuildQmodOperationArgs) -> Res .append(&mut template_mod_json.mod_files); } - existing_json - .dependencies - .append(&mut template_mod_json.dependencies); + // TODO: REDO + existing_json.dependencies.append( + &mut template_mod_json + .dependencies + .clone() + .into_iter() + .filter(|d| { + !existing_json + .dependencies + .iter() + .any(|existing_d| existing_d.id == d.id) + }) + .collect_vec(), + ); existing_json .library_files .append(&mut template_mod_json.library_files);